type p<`a, `b> = P(`a, `b)

let x : int = match (P <int, int> (22, 33)) {
  P<int, int>((x : int), (x : int)) -> x + x
}