def identity_monad(): return monad(identity_functor, identity, identity)
def error_monad(): return monad(error_functor, join, unit)
def list_monad(): return monad(list_functor, join, unit)
def none_monad(): return monad(none_functor, join, unit)
def maybe_monad(): return monad(maybe_functor, join, unit)