About the var assignment in 16-17, I was looking at this yesterday and thought it was pretty useful:
https://github.com/airbnb/javascript#variables

var is basically like let*, so the later assignments can reference the previous ones. However, I do think it is kind of wonky to do it with the same name. (I agree with Dan that line 17 belongs to its own statement in this case.)

I also think we are creeping up the complexity with the get parameters and these tabs, though I haven't really thought of a good solution