{Record pure bind1 lift1}

Where

Let (pure x)
    `just.x

Let (bind1 m1 f)
    Match m1
    | `nothing `nothing
    | `just.x1 (f x1)
    ;

Let (lift1 m1 f)
    Match m1
    | `nothing `nothing
    | `just.x1 `just.(f x1)
    ;