Designing a Good Error Type: Sealed Hierarchies Callers Can Act On
Result<V, E> makes the failure part of the signature — but that only pays off if E is worth reading. A String is not an error type, and neither is a raw Throwable. The errors worth modeling are a sealed hierarchy whose cases are carved by what the caller can do about them. Here is how to design one.








