{ : pure : bind1 : lift1 } Where Define (pure x) 'just.x Define (bind1 m1 f) Match m1 | 'nothing 'nothing | 'just.x1 (f x1) ; Define (lift1 m1 f) Match m1 | 'nothing 'nothing | 'just.x1 'just.(f x1) ;
{ : pure : bind1 : lift1 } Where Define (pure x) 'just.x Define (bind1 m1 f) Match m1 | 'nothing 'nothing | 'just.x1 (f x1) ; Define (lift1 m1 f) Match m1 | 'nothing 'nothing | 'just.x1 'just.(f x1) ;