turbocharge type class derivation: now with coproducts!
rename derive to apply and provide automatic derivation
Renamed TypeClass to ProductTypeClass and TypeClassWithCoproduct to TypeClass.
Polymorphic methods automatically converted to polymorphic function values.