Special case anonymous functions.
Special case anonymous functions.

I think the root of this problem is that I special cased forms into
functions and arguments to those functions - thinking that the functions
themselves would never be anything other than simple names.

In reality, of course, you can do stuff like this:

    ((function (arglist) console.log) "Yo sup?")

where the function being called is not a simple name (1 token) but
instead is many tokens that need to be evaluated.

I think the correct way to structure this is that a Node consists of
many arguments - and then you just call the first with all of the rest.

I guess?

Anyway, I kinda special-cased hacked this.

It's actually a fairly nice gain since it makes processing lists later
much more easy. I think that the gains are definitely worth the losses
of the special casing.

johnfn/Caffeine,johnfn/Caffeine,johnfn/Caffeine,johnfn/Caffeine