A failure's identity for a streak, stable across repeats: an Error
by its name and message — an HttpError's message is its status
line, so a persistent refusal keeps one streak — a PRIMITIVE by its
own value, so two distinct thrown values stay two streaks, and any
other object by its type alone, since its default stringification
says nothing and a walk over it could print a credential. A dialect
whose message carries a value that changes between attempts (a
schema refusal naming what it received) derives its own reason from
this one.
A failure's identity for a streak, stable across repeats: an
Errorby its name and message — anHttpError's message is its status line, so a persistent refusal keeps one streak — a PRIMITIVE by its own value, so two distinct thrown values stay two streaks, and any other object by its type alone, since its default stringification says nothing and a walk over it could print a credential. A dialect whose message carries a value that changes between attempts (a schema refusal naming what it received) derives its own reason from this one.