Also derive some more instances. GHC doesn't need them, but downstream consumers may need to e.g. put stuff in maps.