this looks like an expensive key lookup.
It sounds like we could use a different writable for Maps and avoid those many key comparisons