extending Shapeless