That was solid. Each powerup really opened a large chunk of the map, and you could face certain challenges earlier or later as desired. The world was extensive and well-interconnected, and the map was a great way to keep track of where you still had shells to obtain (...which I didn't notice until I was on the last two. Opps.). The fast travel being so readily available was great. Backtracking to look for shells was nice, but never forced, because you could zip to wherever with little trouble.
Wall climbing/jumps/sticking could be awkward, but the game was light enough on precision platforming that it rarely mattered.
SPOILERS BELOW
My biggest gripes were with the final sequence (chase + ending).
1) The chase should fully reset each time. The timing of traps changing made some attempts easy and others practically impossible.
2) The chase should not be reachable without the dash. I tried for quite a while before realizing there was another powerup left to obtain.
3) after completing the game, I went back and got all shells. I was hoping for a true/100% ending. Still, a delight to play!