Each field in record expressions is in a separate line

Try to fit multiple fields into one line is error-prone.
Add brackets to type signatures
Treat union fields a bit differently from others

Only 3 failing tests on comments and compiler directives