Missing parentheses after extracted [ignore]
Consider the following example:
use mach.int.Int63, mach.array.Array63
let f (a: array int63) : int63 =
a[0] <- 0;
0
let g (a: array int63) : unit = let _ = f a in ()
Extraction to OCaml produces the following ill-typed code:
let f (a: ((int) array)) : int = a.(0) <- 0; 0
let g (a: ((int) array)) : unit = ignore f a
The produced code is missing parentheses around [f a], after [ignore]. I believe this can be solved by changing some priority levels in the OCaml printer.