macro_rules! singleton_safe_manual {
(
$([$($trait_bound:tt)+])?
$type:ident$(<$($inner_gen:ty),+>)?
$([$($outer_gen:ty),+])?
$(where [$($where_bound:tt)+])?
$(with [$($param_gen:ty),+])?
) => { ... };
}