CastingHash is just like Hash, except that all keys and values are passed through casting procedures.