Problem
Home already models Type.Never, documents never, treats it as a subtype of every type, and lowers never kernel functions without a normal epilogue. The authoritative Home source-type parser does not recognize the never spelling, however, so valid diverging function signatures report Unknown type 'never'. Its internal coercion helper also omits the bottom-type rule documented by the language.
Evidence
The current home-os origin/main kernel entry declares export fn kernel_main(...): never and fails type checking at that annotation. Type.isSubtype and Type.canCoerceTo already encode bottom-type behavior, while TypeChecker.parseTypeName and the checker's private canCoerce do not.
Scope
- Parse
neverasType.Neverin Home source annotations. - Permit a
neverexpression wherever a value type is expected. - Add focused checker coverage and align the language documentation with the enforced behavior.
Acceptance criteria
- A diverging function may declare
: neverwithout an unknown-type error. - Calling a
neverfunction is valid in a return position expecting another type. - The focused authoritative checker suite remains green.
Links
Blocks the remaining kernel-corpus acceptance item in #787. Part of #814.