Is there a good explanation on why the following compiles ?
module B = struct
module A = struct end
end
module C = struct
include B
module A = struct end
end
I would expect it to fail with:
Error: Multiple definition of the module name A.
Names must be unique in a given structure or signature.
like the following does:
module B = struct
module A = struct end
end
module C = struct
module A = struct end
include B
end