The name of a function is an expression
Correct block parsing, only expect `;` if there's at least one expression
Include literal positions in pretty print
Parse variable, function call and if-then-else expressions