-- -- -- Maybe (Option) -- -- maybe a := matcher | nothing as () with | Nothing -> [()] | _ -> [] | just $ as (a) with | Just $x -> [x] | _ -> [] | $ as (something) with | $tgt -> [tgt]