fact: Definition mfix2 A B C (ff:(A -> B -> m C) -> (A -> B -> m C)) (a:A) (b:B) : m C := let ff' fabp (abp:A*B) := let (a,b) := abp in let fab a b := fabp (a,b) in ff fab a b in mfix ff' (a,b).
imports: ExtLib.Structures.Monad