functor $ export return: Return bind: Bind failWith: FailWith define fun {Return E} [E] end fun {Bind L F} case L of nil then nil [] X|Xs then {Append {F X} {Bind Xs F}} end end fun {FailWith S} nil end end