fact: Definition liftM3@{d c} {m : Type@{d} -> Type@{c}} {M : Monad m} {T U V W : Type@{d}} (f : T -> U -> V -> W) : m T -> m U -> m V -> m W := Eval cbv beta iota zeta delta [ liftM2 ] in fun x y z => bind x (fun x => liftM2 (f x) y z).
imports: ExtLib.Structures.Functor ExtLib.Structures.Applicative