I am trying to clarify something that's a bit fuzzy for me:
let a, b = true, 3
match a, b with
| true, x -> sprintf "true %i" x
| false, _ -> "false"
in the first match case, true is matched and the value of b is assigned to x. the first part I have trouble 'accepting' is that 'true' is read for the comparison, but x is assigned
but then does that mean:
match a, b with
| c, x -> sprintf "true %b %i" c x
| false, _ -> "false"
will always match the first statement?