// A flat-imported module authors its OWN `Box { a }`, a DISTINCT nominal from
// main's same-name `Box { m }`. The protocol method signatures below name `Box`
// under every wrapper/compound form; a wrong (last-wins) author binds this `Box`,
// whose disjoint field set makes a `.m` access a hard compile error.
Box :: struct { a: i32; }

dep_box :: () -> i32 {
    b : Box = ---;
    b.a = 9;
    return b.a;
}
