Actually, I think I can remove pretty much all of them thanks to the new type safety. I'll add a wrapper for a "safe" hash, and then all of these can be straight up removed.