The last example I assigned the results to a var because it was doing a huge amount of work, any of the steps could fail, and it was just a lot clearer that way.
You don't always have to assign things to vars.
If you have two or more function calls on the same line, use parentheses after the first one. Or use parentheses in all of your function calls. Its just an advantage for some people to be able to leave the parens out because it is a little more readable for them. Otherwise, you can just write it the same as you would in JavaScript.
You had more than one example of pulling out "anonymous" objects from a call, because that is "how it's done." The point is that it is ridiculous that one must go to these lengths to help parse a language, especially when it flies in the face of the language's doctrine.
Same goes for parentheses "here or there but not there, sometimes." This may very well be the anathema for those that don't understand the claims that ";" or "function" or "}" are real burdens.
It doesn't go against the language's doctrine. The guy who invented it explicitly recommends pulling out anonymous objects and functions if they're not super trivial.
You don't always have to assign things to vars.
If you have two or more function calls on the same line, use parentheses after the first one. Or use parentheses in all of your function calls. Its just an advantage for some people to be able to leave the parens out because it is a little more readable for them. Otherwise, you can just write it the same as you would in JavaScript.
Scope is another big advantage of CoffeeScript.