structure S :=
(x : Nat) (y : Bool) (z : Nat) (w : Nat)

set_option trace.compiler.stage1 true

def g : S → S
| s@{ x := x, ..} => { x := x + 1, ..s}
