Q&A
Q&AWhy model missing, invalid, and unavailable as separate TypeScript results?
They require different caller behavior and must not collapse into null.
Read the concise answer
Validate unknown runtime data, then preserve outcome meaning in a discriminated union. Exhaustive handling exposes new states during compilation; structural validation does not establish permissions or retry safety.