Make the purpose of the m modifier more clear and fix a bug

I also added back the record as it helps us ensure that the map that is passed around has the correct keywords.