pub trait Flatten<R> { type Output; // Required method fn flatten(self, args: R) -> Self::Output; // Provided method fn _apply(self, args: R) -> Self::Output where Self: Sized { ... } }
the output type
flattens
macro convenience version of the primary method