Statement.ForIntype ('M, 'T) t = {left : ('M, 'T) left;right : ('M, 'T) Expression.t;body : ('M, 'T) Statement.t;each : bool;comments : ('M, unit) Syntax.t option;}and ('M, 'T) left = | LeftDeclaration of 'M * ('M, 'T) VariableDeclaration.t| LeftPattern of ('M, 'T) Pattern.t