draft post: Deriving type class instances, part 1