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.

If you don't want the record I have separated the PR in two commits and you can pull only the first one.