Maybe.bind : ∀(A: *) ∀(B: *) ∀(a: (Maybe A)) ∀(b: ∀(x: A) (Maybe B)) (Maybe B) = λA λB λa λb use P = λx ∀(b: ∀(x: A) (Maybe B)) (Maybe B) use some = λa.value λb (b a.value) use none = λb (Maybe.none B) (~a P some none b)