Introduction to Shapeless !
Shapeless is a type class and dependent type based generic programming library for Scala. It is an Open Source project under the Apache License v2, hosted on github.
Well, simply put, it is a well known library for generic programming in scala.