org.specs2
type class for a type A which can *not* be projected on a type B
implicit instances for projecting objects of a type A on objects of a type B
type class for projecting an object of type to another type B