module ShadowPublicOpen; module M; module N; axiom A : Type; end; open N public; end; open M; axiom A : Type; end;