This adds tests for the new type annotations syntax, and fixes the parser and pretty printer (and arbitrary instances) so that the automatic QuickCheck test "parser and pretty printer are inverses" passes.
With this PR, pretty printer (and thus LSP) shows enum types as bool{#false,#true} instead of just bool. But this is needed to round trip with parser.
This adds tests for the new type annotations syntax, and fixes the parser and pretty printer (and arbitrary instances) so that the automatic QuickCheck test "parser and pretty printer are inverses" passes.
With this PR, pretty printer (and thus LSP) shows enum types as
bool{#false,#true}
instead of justbool
. But this is needed to round trip with parser.