Derive Data and Typable

Generics are oh so generic.