Use generic impls for `Hash`