pub trait ListenExt: Listen { // Provided method fn join<L1>(self, l1: L1) -> Joint<Self, L1> where L1: Listen, Self: Sized { ... } }