Would a PR be accepted that adds `Generic` instances to the ADTs in the `Types` module? Or are there particular reasons why they don't exists?