It's hard to measure the impact of inlining on real-world code. But intuitively, anything functions outside of the core algorithm (`search_hashed_generic`, `swap_hashed`, `manual_insert_hash_nocheck`, `insert_hashed_from`, `resize`, and `pop`) are extremely small and it makes little sense to pay for a function call for so few instructions.

To reduce bloat, I'd like to somehow write a HashMap which works for all types, which just takes the size of keys and values as a parameter to every method call. Most of the code only cares about the size of these variables, and I don't mind paying a vtable lookup for hashing + equality checking.

But that's for me to explore some other day...