Statement.For
type 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))
;