// A flat-imported module authors its OWN `Pair { a }`. The importing file (`main`) // ALSO authors a `Pair` — its own author must win there (own-wins), while this // module's `Pair` stays a DISTINCT nominal type used by `dep_pair`. The field sets // are disjoint, so a cross-binding to the wrong `Pair` is a hard compile error. Pair :: union { a: s32; } dep_pair :: () -> s32 { p : Pair = ---; p.a = 9; return p.a; }