contravariant 1.1 and profunctors 4.2
Boilerplate