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