{
: 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)
    ;