class (GArrow g (**) u,
- GArrow g (<*>) u) =>
- GArrowProd g (**) u (<*>) where
+ GArrow g (<*>) v) =>
+ GArrowProd g (**) u (<*>) v where
ga_prod_copy :: g x (x<*>x)
- ga_prod_drop :: g x u
+ ga_prod_drop :: g x v
class (GArrow g (**) u,
GArrow g (<+>) v) =>