pub trait LimiterExt: Stream { // Provided method fn limiter<L>(self, l: L) -> IntoLimiter<Self, L> where Self: Sized + Stream + Unpin, L: Limiter + Unpin { ... } }