Macro chained

Source
macro_rules! chained {
    ($name: ident with $lhs: ty, $rhs: ty $(, $extra: ty)+) => { ... };
    ($name: ident with $lhs: ty, $rhs: ty) => { ... };
}
Expand description

Chains applications of a function onto many arguments.

For example, chained!(Composed with A, B, C, D) expands to Composed<A, Composed<B, Composed<C, D>>>.

This macro is hygienic.