macro_rules! newtype_wrapper {
    (
		$(#[$meta:meta])*
		$vis:vis struct $id:ident($ty:ty ;? $err:ty);
	) => { ... };
    (
		$(#[$meta:meta])*
		$vis:vis struct $id:ident($ty:ty | $owned:ty $(;? $err:ty)? $(= $self:ident)?) $inner:ident $into_inner:ident;
	) => { ... };
}