type p<`a, `b> = P(`a, `b) type l = { l : int } let x : int = match (P({ l = 22 }<>, 33)) { P( { l = (x : int) }<>, (y : int)) -> x + y }