Doesn't that mean that iteration requires a write lock? That sounds bad for lots of applications.
Am I missing some clever trick?
There are ways to avoid locks, but the stdlib implemtation doesn't do it. There are probably a bunch of crates that implemented concurrent BTrees, though.