This error indicates an inconsistency between declared types; a variable should belong to two types. See static type checking.
This error indicates an inconsistency between a declared type and the use of a functor in a rule. See static type checking.
You have defined a type alias in terms of itself, either directly or indirectly.
You have defined two overlapping type aliases.
You have defined the same type multiple times.
You have declared a non-ground type for a constraint argument.
You have used an undefined type in a type declaration.
You have used invalid syntax in a constraint declaration.
There is more than one declaration for the same constraint.
You have used an undeclared constraint in the head of a rule. This often indicates a misspelled constrained name or wrong number of arguments.
You have used a variable as a pragma in a rule. This is not allowed.
You have used an identifier in a passive pragma that does not correspond to an identifier in the head of the rule. Likely the identifier name is misspelled.
You have used an unknown pragma in a rule. Likely the pragma is misspelled or not supported.
You have most likely bumped into a bug in the CHR compiler. Please contact Tom Schrijvers to notify him of this error.