match_type ::=
    "with-any-type"
  | "(" "with-types-equal-to" <type-record-identifier> [<type-record-identifier>, ...] ")"
  | "(" "with-types-not-equal-to" <type-record-identifier> [<type-record-identifier>, ...] ")"
  | "(" "with-types-superset-of" <type-record-identifier> [<type-record-identifier>, ...] ")"
  | "(" "with-types-subset-of" <type-record-identifier> [<type-record-identifier>, ...] ")"
  | "(" "with-types-overlapping" <type-record-identifier> [<type-record-identifier>, ...] ")"
  ;
