class Profunctor p where
dimap :: forall a b c d. (a -> b) -> (c -> d) -> p b c -> p a d
instance profunctorArr :: Profunctor Prim.Function
lmap :: forall a b c p. (Profunctor p) => (a -> b) -> p b c -> p a c
rmap :: forall a b c p. (Profunctor p) => (b -> c) -> p a b -> p a c
class (Profunctor p) <= Choice p where
left :: forall a b c. p a b -> p (Either a c) (Either b c)
right :: forall a b c. p b c -> p (Either a b) (Either a c)
instance choiceArr :: Choice Prim.Function
class (Profunctor p) <= Strong p where
first :: forall a b c. p a b -> p (Tuple a c) (Tuple b c)
second :: forall a b c. p b c -> p (Tuple a b) (Tuple a c)
instance strongArr :: Strong Prim.Function