A class for types that can be converted to a hash value