Trait Monad
rarrow::classes
pub trait Monad: Applicative { fn bind<B, F>(self, f: F) -> Self::Out where Self: Plug<B>, F: FnOnce(Self::A) -> Self::Out; }
fn bind<B, F>(self, f: F) -> Self::Out where Self: Plug<B>, F: FnOnce(Self::A) -> Self::Out,
impl<A> Monad for Option<A>
fn bind<B, F>(self, f: F) -> Self::Out where F: FnOnce(Self::A) -> Self::Out,