There is no Profunctor subclass where the elements wind up in inverted positions. There probably should be.
class Profunctor p => ContraClosed p where
contraclosed :: p a b -> p (b -> x) (a -> x)
-- This shows that ContraClosed should be a superclass of Mapping
contraclosedMapping :: Mapping p => p a b -> p (b -> x) (a -> x)
contraclosedMapping = roam (flip (.))
The question is if there are any ContraClosed instances that aren't also Mapping.
There is no
Profunctor
subclass where the elements wind up in inverted positions. There probably should be.The question is if there are any
ContraClosed
instances that aren't alsoMapping
.