Fix weirdness
Add as in patterns, like in OCaml
Add guards
Fix test
Small grammar fixes: allow ? in custom operators; kill some useless newlines in the parser