Module Typeinf_syntax.Explicit

module Explicit: sig .. end

type typ = 
| TId of Typeinf_syntax.id
| TInt
| TBool
| TFun of typ * typ
| TPair of typ * typ
| TList of typ
type exp = 
| Int of int
| Bool of bool
| Arith of Typeinf_syntax.arithOp * exp
* exp
| Cmp of Typeinf_syntax.intCmp * exp
* exp
| If of exp * exp
* exp
| Id of Typeinf_syntax.id
| Let of Typeinf_syntax.id * exp * exp
| Fun of Typeinf_syntax.id * typ * exp
| Fix of Typeinf_syntax.id * typ * exp
| App of exp * exp
| Empty of typ
| Cons of exp * exp
| Head of exp
| Tail of exp
| IsEmpty of exp
| Pair of exp * exp
| ProjL of exp
| ProjR of exp