It would be nice if we could allow something like the following, so we don't have to create a tuple and project into it:
match x, y with
| Some (z), Some (w) -> ()
| _ -> ()
With tuple we currently get:
match (x,y) with
| (Some (z), Some (w)) -> ()
| _ -> ()
with an ast like:
...
let scrut71 = Ctor0(x, y) in
match scrut71 with
| #0 let tuple_left73 = proj_0 scrut71 in
inc tuple_left73;
let tuple_right72 = proj_1 scrut71 in
inc tuple_right72;
dec scrut71;
match tuple_right72 with
| #1 dec tuple_right72;
match tuple_left73 with
| #1 dec tuple_left73;
...
It would be nice if we could allow something like the following, so we don't have to create a tuple and project into it:
With tuple we currently get:
with an ast like: