Walking skeleton: imported newtype end-to-end
Goal
Thread the thinnest vertical slice of the descriptor from resolver to both executors: use "./m" { Meters } where Meters is a newtype, then Meters(42) constructs the same value on the evaluator AND the LLVM backend. Proves the resolver->descriptor->consumer path exists end-to-end before each phase section fleshes out its case.
Implementation Sketch
Add the minimal constructor-binding descriptor to ResolvedImports for the newtype case only; wire the evaluator + LLVM to bind Meters(..) from it; assert identical results across both executors on one fixture.
Spec References
Proposal Design rules 1-2 (type name + newtype constructor); Semantics (Backend neutrality descriptor). No spec-clause authoring here (section 05).
Work Items
- Minimal newtype constructor-binding descriptor in ResolvedImports + eval + LLVM consumption; one cross-module fixture asserting Meters(42) is identical on the evaluator and the LLVM backend (debug+release).