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