Is this correct? e.g. `fn foo() {}` or `match foo { ... }` are both valid semicolon-less statements.