This AI-generated design example is illustrative and does not describe deployed SIGNUM HQ code. A feed that is unavailable and an observed zero are different states. Converting both to zero can silently change an average or a condition.
type Reading = { status: 'observed'; value: number } | { status: 'missing' }; function observedValue(r: Reading): number | null { return r.status === 'observed' ? r.value : null; } Consumers must decide how to display or exclude missing observations. Keep the distinction through parsing, storage and presentation rather than trying to recover it after formatting.
![Why Object.keys(user) Returns string[], Not (keyof User)[]: TypeScript Means It](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2q4w48b9bzs43tynyhsf.png)
