-exception T of string
+type t =
+ | Invalid_syntax of Tiger_position.t
+ | Unknown_id of {id : Tiger_symbol.t; pos : Tiger_position.t}
+ | Unknown_type of {ty_id : Tiger_symbol.t; pos : Tiger_position.t}
+ | Id_not_a_function of {id : Tiger_symbol.t; pos : Tiger_position.t}
+ | Wrong_type_of_expression_in_var_dec of
+ { var_id : Tiger_symbol.t
+ ; expected : Tiger_env_type.t
+ ; given : Tiger_env_type.t
+ ; pos : Tiger_position.t
+ }
+ | Wrong_type_used_as_record of
+ { ty_id : Tiger_symbol.t
+ ; ty : Tiger_env_type.t
+ ; pos : Tiger_position.t
+ }
+ | Wrong_type_of_field_value of
+ { field_id : Tiger_symbol.t
+ ; expected : Tiger_env_type.t
+ ; given : Tiger_env_type.t
+ ; pos : Tiger_position.t
+ }
+ | Wrong_type_of_arg of
+ { func : Tiger_symbol.t
+ ; expected : Tiger_env_type.t
+ ; given : Tiger_env_type.t
+ ; pos : Tiger_position.t
+ }
+ | Wrong_number_of_args of
+ { func : Tiger_symbol.t
+ ; expected : int
+ ; given : int
+ ; pos : Tiger_position.t
+ }
+ | Invalid_operand_type of
+ { oper : Tiger_absyn.oper
+ ; valid : string list
+ ; given : Tiger_env_type.t
+ ; pos : Tiger_position.t
+ }
+ | Different_operand_types of
+ { oper : Tiger_absyn.oper
+ ; left : Tiger_env_type.t
+ ; right : Tiger_env_type.t
+ ; pos : Tiger_position.t
+ }
-val exn : pos:Tiger_position.t -> string -> 'a
+exception T of t
+
+val raise : t -> 'a
+
+val to_string : t -> string