macro_rules! boxed_key_trait {
($trait:tt) => { ... };
($trait:tt<$($param:tt), *>) => { ... };
($trait:tt<$($param:tt: $constraint0:tt $(+ $constraint:tt)*), *>) => { ... };
($trait:tt<$($param:tt: ?Sized + $constraint0:tt $(+ $constraint:tt)*), *>) => { ... };
($trait:tt<$($param:tt: 'static + $constraint0:tt $(+ $constraint:tt)*), *>) => { ... };
($trait:tt<$($param:tt: 'static + ?Sized + $constraint0:tt $(+ $constraint:tt)*), *>) => { ... };
}