A first run at an implicit-based TypeClass typeclass, using Shapeless.