You can use variables as custom blocks just like javascript variable functions!

I was curious, so I tried this:
and to my surprise, it works!

const sayplus=doSayFor(#1, #2);
sayplus("hello", 5);

why wouldn't it?

Procedures are first class, so they can be put in variables!

I always used to tell my Berkeley students that whenever they're tempted to ask "Can I use X as input to Y?" the answer is always yes. That's the virtue of having all data types first class. The funny thing is that that didn't stop them asking such questions, especially the ones who'd programmed before in languages with type declarations for variables. And then I'd ask the rest of the class to answer the question, and they'd all laugh, once they realized that it was that kind of question.

P.S. Syntactically, I mean. Sometimes a value isn't meaningful as input to some function.

well im sorry i didnt know

thats nice