sig
exception CircularDefinition of Ast.typ * Ast.typ
exception InexhaustiveMatch of Ast.expr
exception ParseError of string
exception RuntimeError of string
exception TypeError of Ast.expr * Ast.typ
exception UnboundVariable of string
exception UndefinedValue of Ast.expr
exception UnificationError of Ast.typ * Ast.typ
val circular : Ast.typ -> Ast.typ -> 'a
val inexhaustive : Ast.expr -> 'a
val parse_error : string -> 'a
val runtime_error : string -> 'a
val type_error : Ast.expr -> Ast.typ -> 'a
val unify_error : Ast.typ -> Ast.typ -> 'a
val unbound_var : string -> 'a
val undefined : Ast.expr -> 'a
val show_circular : Ast.typ -> Ast.typ -> unit
val show_inexhaustive : Ast.expr -> unit
val show_parse_error : string -> unit
val show_runtime_error : string -> unit
val show_type_error : Ast.expr -> Ast.typ -> unit
val show_unbound : string -> unit
val show_undefined : Ast.expr -> unit
val show_unify_error : Ast.typ -> Ast.typ -> unit
end