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