#3 and #4 create map and inferable mapping methods for public usage

I might have been me - the order of generated elements should always remain stable (for those of us who commit generated sources to version control).