A bimodule from O:C→D provides for all x:C;y:D a homset O(x,y) and compose these O-morphisms. This is subject to 5 laws. See also Profunctor