I think that's a good approach (even though I started with Racket before looking that much into R5RS). But my reasoning is that if R5RS in itself is a productive language but (much) smaller than Racket, it's probably a good basis to get the big picture.
I'd like to add that pattern matching has both relative simple patterns and advanced ones which I find rather hard to understand. Also, in my opinion Additional Matching Forms can come later.
This is also what I had hoped to find in the Racket Guide. My wish is that the Guide contained what a user needs to get productive in the language for not too complicated programs. That said, I just checked the contents of the Racket Guide and, thinking about the presumably advanced stuff that we discussed in this thread, I found some contents where I wonder if they should be in the Guide:
- " 5.7 Prefab Structure Types"
- The "planet" stuff in "6.3 Module Paths". I guess this is mostly there for historic reasons.
- " 6.8 Protected Exports"
- Maybe parts of " 7 Contracts"?
- " 10.2 Prompts and Aborts"
- " 10.3 Continuations"
- Although "11 Iterations and Comprehensions" mentions sequences, it doesn't explain what a "sequence" means, particularly, that a sequence may be lazily evaluated.
- "11.5 for/and and for/or"
- "11.6 for/first and for/last". Of course, the four
for
forms can be useful, but to me they seem a bit too special to be in the introduction. - Parts of "13 Classes and Objects". I had started to read this in the past, but further down (maybe from "Mixins") I really wondered how important these sections were. I think the OOP chapter in the Guide should contain what's needed to start with the GUI system, but I don't know how much more. (By the way, should the Racket Guide discuss the GUI system, maybe basics?)
- "14 Units (Components)". I think someone in the Racket Slack said that units weren't that important anymore because they were mostly superseded by the module system.
- Parts or all of "15 Reflection and Dynamic Evaluation"
- Parts of "16 Macros". I can't be more specific because I know too little about macros.
- "17 Creating Languages". I understand the motivation to include this chapter since Racket prides itself as the language for language-oriented programming (or something along these lines ), but I suppose this is a rather advanced concept.
- Maybe at some point the BC stuff in "19 Performance" should be removed.
- I'm unsure about "20 Parallelism". I agree all this should be documented somewhere - but in the Racket Guide?
Again, I'm just wondering about these sections. I can't judge how important these actually are.
Somewhat related: The Oxford Advanced Learners Dictionary and maybe other online dictionaries mark words of a "key" vocabulary with a symbol. For example, the entry for person has such a "key" icon. I don't suggest to add such icons to "key" functions/forms in the Racket Reference and actually don't even have an idea what a good way for such annotations would be without getting visually noisy and distracting. But maybe someone else is more inspired than I am?