During #initialize, DEFAULT_APPROXIMATIONS is added to approximations. The behavior of #add, though, will delete from the hash in order to stringify each value. When running a multithreaded application, the state of DEFAULT_APPROXIMATIONS will be in flux between threads leading to errors.
Preventing transliterator constant from being modified for concurrenc…
Does this mean all transliteration hashes should have .freeze called on them or is this just for default approximations?
DEFAULT_APPROXIMATIONS is the only hash that would cause these issues because it is class level and modified.