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