Pattern for Generic Programming” (R. Lämmel, S.P. Jones) u A design pattern for writing programs that traverse rich mutually-recursive data structures u Write boilerplate once and for all u Requires rank-2-polymorphism
type based generic programming library for Scala. u Originated by Miles Sabin on implementing: u Scrap your boilerplate u Libraries using shapeless: u Akka streams, Doobie, Specs2, Http4s and more.