macro_rules! new {
($type:ty) => { ... };
($type:ty { $init:expr }) => { ... };
($type:ty [ $size:expr ]) => { ... };
($type:ty [ $size:expr ]{ $($init:expr),* }) => { ... };
($type:ty [$size:expr] $([$lt:literal])+) => { ... };
($type:ty [$size:expr] $([$lt:literal])+ { $($init:expr),* }) => { ... };
}