Generates typeclass instances
Self parameter of type class instances work