Scala 2: boilerplate-free type class definition
The development of an application requires design decisions. Fairly often a functional application is being designed around ad-hoc polymorphism.
Ad-hoc polymorphism refers to when a value is able to adopt any one of several types because it, or a value it uses, has been given a …