cats.free
Inject type class as described in "Data types a la carte" (Swierstra 2008).
http://www.staff.science.uu.nl/~swier004/publications/2008-jfp.pdf
Inject type class as described in "Data types a la carte" (Swierstra 2008).
http://www.staff.science.uu.nl/~swier004/publications/2008-jfp.pdf