pub trait BinaryTreesBindable<'a>: MonadTrees<'a> {
// Required method
fn bounds_error<T: 'a + Send>(
&self,
error: BoundsError<Self::Key>
) -> BTWrap<'a, Self, T>;
// Provided method
fn bounds_bind<A: 'a + Send, B: 'a + Send>(
&self,
ra: Result<A, BoundsError<Self::Key>>,
f: impl FnOnce(A) -> BTWrap<'a, Self, B>
) -> BTWrap<'a, Self, B> { ... }
}