pub type Flatten<T, B, P> = FlatMap<T, B, P, T, fn(T) -> T>;
Used to flatten providers
pub struct Flatten<T, B, P> { /* private fields */ }