exception VarUndef of (AstT.path * (Lexing.position * Lexing.position))
exception ExprTypeError of ((Lexing.position * Lexing.position) * AstT.typ * AstT.typ)
exception MatchSameNameError of (string  * (Lexing.position * Lexing.position))
exception ModuleExpected of (AstT.path * (Lexing.position * Lexing.position))
exception VariableExpected of (AstT.path * (Lexing.position * Lexing.position))
exception BadNumberOfArgs of (Lexing.position * Lexing.position)
exception NonUniqueName of (string * (Lexing.position * Lexing.position))
exception SigNonCompatible of (Lexing.position * Lexing.position)

val path_to_string : AstT.path -> string
val type_to_string : AstT.typ -> string
val typing_program : Ast.program -> AstT.program



