Apologies - the semicolon and Foo() are both there in the actual code.
The interesting part is that it succeeds when used by my other modules, just not in Mod::Sub, Mod::Sub2, etc. Is there any reason they wouldn't import like anything else, or should I be looking elsewhere?