Noob: don't understand usage of curly brackets in if-statement

Yes! I also think that’s a common source of confusion.

There’s probably nothing like a true block equivalent in SC since var declarations don’t seem to work nested in parentheses more than one level

Yes, that’s confusing. The distinction between expressions and blocks is rather vague. Unlike other languages, expressions/blocks (maybe “expression blocks”?) can have several statements, but for some reasons variable declarations are only allowed on the top level. I don’t know why…

But there’s no “true inner block” on the last line, only a function declared and then evaluated, although that is arguably functionally equivalent.

Just wanted to write that { ... }.value is a way to emulate nested blocks similar to C-style languages. You beat me to it.