Module Match.Case

module InvalidSyntax: { ... };
type t('M, 'T, 'B) = ('M, t'('M, 'T, 'B));
and t'('M, 'T, 'B) = {
  1. pattern: MatchPattern.t('M, 'T),
  2. body: 'B,
  3. guard: option(Expression.t('M, 'T)),
  4. comments: option(Syntax.t('M, unit)),
  5. invalid_syntax: InvalidSyntax.t('M),
  6. case_match_root_loc: 'M,
};
let pp: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => (Format.formatter => 'B => unit) => Format.formatter => t('M, 'T, 'B) => unit;
let show: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => (Format.formatter => 'B => unit) => t('M, 'T, 'B) => string;
let pp_t': (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => (Format.formatter => 'B => unit) => Format.formatter => t'('M, 'T, 'B) => unit;
let show_t': (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => (Format.formatter => 'B => unit) => t'('M, 'T, 'B) => string;