Wow! Great job!
What this topic is about is me asking those who stood by the cradle of the scheme to check if what I've written is indeed correct and/or if there are things missing from it.
Yep, I'm one of them
The inputs I can provide are the following:
: my original idea was actually to use "N" as narrow gauge, so "M" was indeed a free letter, and may be used for something else if needed. I don't think we need a specific letter for "metric" gauge: just two generic letters for different narrow gauges ("N" and "n"; narrow and narrower) could do the trick. I don't think any sets would be so detailed as to include, say, 1,066m, 1m, 750mm, and 600mm tracks at the same time, each as a different type... especially considering we've "merely" got 16 types to play with!
: I wouldn't define class "R" (rackrail) as just eyecandy. It's actually a tracktype with a max speed of 20 km/h for rackrail engines, and 10 km/h for non-rackrail engines (they need to slow down because of the rack's presence). Moreover, it improves the rackrail engines' adhesion coefficient, therefore boosting their TE. This is how I coded it in the French set. Therefore, I'd describe it as a special speed limit class.
(I'm not sure about "U" though, as that idea was not mine).
* Axle weight
: my thoughts were to also have the "a" type in the axle weight scheme, as a "very early, very light, very cheap" track class (may be useful for sets starting around 1840).
As for the other things, the document is well written. Hope this concept can help other sets' developers out!