enforce target_hash to be a "real" Hash object