sig
  val loop :
    (Pervasives.out_channel -> '-> unit) ->
    ('I.Ast.env -> I.Ast.t -> 'a) -> unit
end