The ? operator, the -> impl Trait syntax, specialization, HKTs, and so on are all features that add expressivity to the language and that can be bypassed. In other words, if you truly want to do something without these features, you still can in a more dirty way.
They also tend to generate endless debates, so I agree that they should be secondary.
But on the other side, integer generics is the only feature that I can think of that can't be bypassed realistically. There's no way to implement a trait for [T; n] where n is between 0 and 2^32, unless you are ready for some epic compile times. I don't think they are a good example of something that should be delayed just because it adds expressivity.