sig
type exp =
Typeinf_syntax.Implicit.exp =
Const of Typeinf.const
| Op2 of Typeinf.op2 * Typeinf.Implicit.exp * Typeinf.Implicit.exp
| If of Typeinf.Implicit.exp * Typeinf.Implicit.exp *
Typeinf.Implicit.exp
| Id of Typeinf.id
| Let of Typeinf.id * Typeinf.Implicit.exp * Typeinf.Implicit.exp
| Fun of Typeinf.id * Typeinf.Implicit.exp
| Fix of Typeinf.id * Typeinf.Implicit.exp
| App of Typeinf.Implicit.exp * Typeinf.Implicit.exp
| Empty
| Cons of Typeinf.Implicit.exp * Typeinf.Implicit.exp
| Head of Typeinf.Implicit.exp
| Tail of Typeinf.Implicit.exp
| IsEmpty of Typeinf.Implicit.exp
| Pair of Typeinf.Implicit.exp * Typeinf.Implicit.exp
| ProjL of Typeinf.Implicit.exp
| ProjR of Typeinf.Implicit.exp
val from_file : string -> Typeinf.Implicit.exp
val from_string : string -> Typeinf.Implicit.exp
end