Module Pattern.Array

module Element: { ... };
type element('M, 'T) =
  1. | Element(Element.t('M, 'T))
  2. | RestElement(RestElement.t('M, 'T))
  3. | Hole('M)
;
and t('M, 'T) = {
  1. elements: list(element('M, 'T)),
  2. annot: Type.annotation_or_hint('M, 'T),
  3. comments: option(Syntax.t('M, list(Comment.t('M)))),
};
let pp_element: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => element('M, 'T) => unit;
let show_element: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => element('M, 'T) => string;
let pp: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => t('M, 'T) => unit;
let show: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => t('M, 'T) => string;