sig
type t =
Num of int
| Var of string
| Op of Op.t * T.Ast.t * T.Ast.t
| Ifz of T.Ast.t * T.Ast.t * T.Ast.t
| Let of string * T.Ast.t * T.Ast.t
| App of T.Ast.t * T.Ast.t
| Fun of string * T.Type.t * T.Ast.t
| Fix of string * T.Type.t * T.Ast.t
val erase : T.Ast.t -> S.Ast.t
end