I am not a huge fan of the structure of this file -- there is a lot of copying of dictionaries of strings, and lookups of std::maps with std::string keys is super inefficient (for each access operation, the compiler has to create a std::string temporary which allocates on the heap, and copies the contents of the lookup there). It looks like largely this was the coding style of this file before this PR though, so maybe it isn't worth messing with at this time
#8983 (comment)
#8983 (comment)