Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
A profunctor has an input end with contravariant map, an output end with covariant map and an operation to join two terms with the same input type giving both outputs.