fact: Definition ibind {M : Type -> Type -> Type -> Type} `{IMonad M} {I J K X Y} (f : (X -> M J K Y)) (x : M I J X) : M I K Y := @ijoin M _ I J K Y (@imap _ _ I J _ _ f x).
imports: Hask.Ltac Hask.Prelude FunctionalExtensionality