Your example superficially looks like it should work. Does the first example also work if you drop the open statement? Consider the possibility that you are actually picking up Foo from somewhere else. On 10 June 2015 at 15:16, Kenneth Adam Miller wrote: > I ran into a quirk today- > > I noticed that if I first do: > > open My_module.Submodule > module Blah = Foo.Bar > > That my code would compile, but doing this: > > module Blah = My_module.Submodule.Foo.Bar > > will *not*. Why is that? Is there any way to fully qualify a module name > in the latter manner (the code of the latter manner was fully machine > generated, and I would like the machine generated code not have to be > edited). >