Module Statement.For

type ('M, 'T) t = {
  1. init : ('M, 'T) init option;
  2. test : ('M, 'T) Expression.t option;
  3. update : ('M, 'T) Expression.t option;
  4. body : ('M, 'T) Statement.t;
  5. comments : ('M, unit) Syntax.t option;
}
and ('M, 'T) init =
  1. | InitDeclaration of 'M * ('M, 'T) VariableDeclaration.t
  2. | InitExpression of ('M, 'T) Expression.t
val pp : (Format.formatter -> 'M -> unit) -> (Format.formatter -> 'T -> unit) -> Format.formatter -> ('M, 'T) t -> unit
val show : (Format.formatter -> 'M -> unit) -> (Format.formatter -> 'T -> unit) -> ('M, 'T) t -> string
val pp_init : (Format.formatter -> 'M -> unit) -> (Format.formatter -> 'T -> unit) -> Format.formatter -> ('M, 'T) init -> unit
val show_init : (Format.formatter -> 'M -> unit) -> (Format.formatter -> 'T -> unit) -> ('M, 'T) init -> string