# Type Guards

- Use `unknown` at boundaries and narrow with predicates.
- Prefer discriminated unions for stateful flows.
- Add assertion functions only where failing fast is intentional.
- Keep runtime checks aligned with compile-time types.
