The `SpecError` class represents a code that occurs during the validation of a JSON value against a specification. It
encapsulates information about the code, including the path where the code occurred, the code, and the value that
triggered the code.
json-values and json-specs in particular, uses `SpecError` instances to report validation errors when a JSON value
does not conform to the specified rules and constraints.
Instances of this class are immutable and provide methods for creating and working with validation errors.
The `SpecError` class offers the following key functionality: - Generating a human-readable string representation of
the code for debugging and logging purposes. - Implementing equality and hash code methods to compare code
instances.