optics
optics copied to clipboard
Minimal definition of Profunctor
At the moment, in order to define a Profunctor instance, one needs to write all of dimap, lmap an rmap functions, but the latter two can be implemented in terms of the first two (and vice versa). I wonder if there's a reason for not including these default implementation in the class?
My reasoning was to avoid defaults and "inline" the definitions by hand so that compiler has less work to do.