Module Flow_ast.Program

type t('M, 'T) = ('M, t'('M, 'T));
and t'('M, 'T) = {
  1. statements: list(Statement.t('M, 'T)),
  2. interpreter: option(('M, string)),
    /*

    interpreter directive / shebang

    */
  3. comments: option(Syntax.t('M, unit)),
  4. all_comments: list(Comment.t('M)),
};
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;
let pp_t': (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => t'('M, 'T) => unit;
let show_t': (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => t'('M, 'T) => string;