Sub / Function can be on one line, but only if there's brackets.
``` | Storage_opt tFUNCTION Identifier ArgumentsDecl BodyStatements tEND tFUNCTION ``` This leads to sometimes to `link_statements` being called with `head` being NULL, probably because now the `:` can be parsed as `Statement` in `BodyStatements`. Also note that this introduces another shift/reduce conflict, could be related, but I don't understand it well enough. Feedback would be appreciated, I'm still learning bison.