This was we don't get noisy baselines just because a different phase of the compiler reported
the diagnostic.
This helps with Yui's refactoring work to move grammar checks into the type checker.
Fixes issue #34.
Specifically:
* We no longer automatically assume "()" is a function expression. It must be followed by an arrow, colon, or curly brace.
* If an arrow is missing following a signature, but a curly brace is present, we assume the user forgot the arrow and try to parse the body anyway.