a type like `A of { x: nat }` results in ill-typed script by generating `unexpected annotation` to the michelson typer : another corner case bug
minimal example:
[@@@SCaml iml_optimization=false]
open SCaml
type t = A of { x: nat }
let [@entry] main () _ =
match (A {x = Nat 0}) with
| A _ -> [], ()
in the resulting .tz file, an instruction like this is causing the problem:
PUSH (nat :t.A :t) 0
removing the annotations :t.A :t
solves the issue
as a file: https://gitlab.com/haochenxie/scaml/-/blob/type-1record-bug/tests/type_1record2.ml