Errors and refusals

When Smeldr refuses something, the answer carries a stable type, a class and named values, so a program can branch on it and a person can read why. The class tells where the refusal belongs: a rule, a field to correct, a record that changed, or a failure.

Reference