interface Representable : (Type -> Type -> Type) -> (Type -> Type) -> TypeA profunctor `p` is representable if it is isomorphic to `Star f` for some `f`.
tabulate : (a -> f b) -> p a bRepresentable Morphism IdentityFunctor f => Representable (Kleislimorphism f) fFunctor f => Representable (Star f) fRepresentable (Forget r) (Const r)tabulate : Representable p f => (a -> f b) -> p a binterface Corepresentable : (Type -> Type -> Type) -> (Type -> Type) -> TypeA profunctor `p` is corepresentable if it is isomorphic to `Costar f` for some `f`.
cotabulate : (f a -> b) -> p a bCorepresentable Morphism IdentityFunctor f => Corepresentable (Costar f) fCorepresentable (Coforget r) (Const r)cotabulate : Corepresentable p f => (f a -> b) -> p a btabulated : (Representable q f, Representable r g) => Profunctor p => p (q a b) (r a' b') -> p (a -> f b) (a' -> g b')cotabulated : (Corepresentable q f, Corepresentable r g) => Profunctor p => p (q a b) (r a' b') -> p (f a -> b) (g a' -> b')