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