Semifunctor * ((,) * *) (Bi * * Either) (Product * * * * (->) (->)) (->) | |
Semifunctor * ((,) * *) (Bi * * (,)) (Product * * * * (->) (->)) (->) | |
Bind m => Semifunctor * ((,) * *) (Bi * * Either) (Product * * * * (Kleisli m) (Kleisli m)) (Kleisli m) | |
Bind m => Semifunctor * ((,) * *) (Bi * * (,)) (Product * * * * (Kleisli m) (Kleisli m)) (Kleisli m) | |
Extend w => Semifunctor * ((,) * *) (Bi * * (,)) (Product * * * * (Cokleisli w) (Cokleisli w)) (Cokleisli w) | |
(Semigroupoid k j, Semigroupoid k1 k2) => Semigroupoid ((,) k k) (Product k k k k j k) | |
(Groupoid k j, Groupoid k1 k2) => Groupoid ((,) k k) (Product k k k k j k) | |
(Ob k l a, Ob k1 r b) => Ob ((,) k k) (Product k k k k l r) ((,) k k a b) | |