module type SolverException = sig .. end
exception TypingError of Positions.position
TypingError is raised when an inconsistency is detected during
constraint solving.
exception UnboundIdentifier of Positions.position * string
UnboundIdentifier is raised when an identifier is undefined in
a particular context.
exception CannotGeneralize of Positions.position * Constraint.variable
CannotGeneralize when the type of an expression cannot be
generalized contrary to what is specified by the programmers
using type annotations.
exception NonDistinctVariables of Positions.position * Constraint.variable list
NonDistinctVariables is raised when two rigid type variables have
been unified.