macro_rules! use_memo { ( <$t:ty> $(move)? || $e:expr ) => { ... }; ( <$t:ty> $(move)? | $($dep:ident),+ $(,)? | $e:expr ) => { ... }; ( $(move)? || $e:expr ) => { ... }; ( $(move)? | $($dep:ident),+ $(,)? | $e:expr ) => { ... }; }