A Non-allocating Option
summary
Adds a new optional type or_null with constructors This and Null that uses the all-zero bit pattern as a non-allocating None, keeps legacy option unchanged, and implements a kind system separating with-null vs no-null types so nesting or_null or_null is rejected. Prototype typechecker changes land in an OCaml compiler branch, runtime work remains in progress. Practical limits include banning alpha or_null arrays to avoid the flat-float non-separability problem and choosing abstract types to default to no-null to ease inference.
AI-written summary · about
