Is there a better way of doing this? I'm not super familiar with the parser. It gets a bit awkward here since we want a semicolon separated list of statements with an optional trailing semicolon, and `parse_stmt` doesn't return an `Option` like `parse_item` does to tell us when we're done.