I don't think that anyone will dispute the fact that no bounds checking implies that less code is executed, but I'm personally curious about how much of a perf impact it has. This is something which would need to be measured, but I would be far more comfortable with merging a safe hashmap than an unsafe one.

> Leaving easy optimizations on the table for a core data structure isn't my style

True, but unsafe code isn't really rust's style. We can all review this code many times, but there's a significant amount of unsafety here, so it's likely that we'll miss something.

> I'd rather it be "unsafe", but well used, tested, and fast, than have it be "safe" and well used and tested, but slightly slower

I think that most of us would agree with you in this regard, but without data to back up the claim that unsafe is X times faster it's tough to believe.