Statement.Fortype t('M, 'T) = {init: option(init('M, 'T)),test: option(Expression.t('M, 'T)),update: option(Expression.t('M, 'T)),body: Statement.t('M, 'T),comments: option(Syntax.t('M, unit)),};and init('M, 'T) = | InitDeclaration(('M, VariableDeclaration.t('M, 'T)))| InitExpression(Expression.t('M, 'T));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_init:
(Format.formatter => 'M => unit) =>
(Format.formatter => 'T => unit) =>
Format.formatter =>
init('M, 'T) =>
unit;let show_init:
(Format.formatter => 'M => unit) =>
(Format.formatter => 'T => unit) =>
init('M, 'T) =>
string;