For a good explanation of profunctors in Haskell see Dan Piponi's
article:
http://blog.sigfpe.com/2011/07/profunctors-in-haskell.html
This module includes
unsafe composition operators that are
useful in practice when it comes to generating optimal core in GHC.
If you import this module you are taking upon yourself the obligation
that you will only call the operators with
# in their names
with functions that are operationally identity such as
newtype constructors or the field accessor of a
newtype.
If you are ever in doubt, use
rmap or
lmap.