// issue 0105 case 2 — same-name struct, SAME fields. Two flat-imported modules
// each declare `Pair { x, y }` with identical shape. They are STILL distinct
// nominal identities (each holds its own per-source TypeId / nominal id), not
// folded into one — both register, both monomorphize their own formatter, and
// each module's value prints correctly. (The nominal-distinctness mechanism is
// pinned at the unit level in `types.test.zig`; this example pins that two
// identically-shaped same-name structs coexist without collapse or crash.)
#import "modules/std.sx";
#import "0753-modules-same-name-struct-same-fields/a.sx";
#import "0753-modules-same-name-struct-same-fields/b.sx";

main :: () -> i32 {
    print("a={} b={}\n", a_pair(), b_pair());
    0
}
