Considering the if <> {
} @addInput block has been variadic for a while, I found it strange that the if <> then [] else[] block has stayed the same. I have way too many projects with much too many nested if <> then [] else[] s, which could have been much more elegant (and possibly faster) if we had this as a primitive.
Now, of course you can make this in snap, but of course it's slower, and the line spacing is fully messed up.
They answered that: It's okay for a command block (such as IF) to do nothing, but it's not okay for a reporter (again, such as IF) not to report a value. Thus, the ELSE case is optional for the command, but required for the reporter.
It’s simplified: less input items. Plus it has a line break before every condition or potential result. I would’ve preferred a line break before every condition only, but I don’t think that’s possible with current Snap!