Upon further wasting-my-time, I am starting to suspect the forward referencing issue may be a bigger problem than it appears. I have lots of aliases, and most of them work, but some of them just don't; "Error: identifier 'Kernel' of 'ep.Kernel' is not defined" (not a very helpful message). It is though, it's defined right next to it's companion, which is declared at the same time, in the same place, but I don't get an error for that one. I think the problem here is that the companion symbol isn't involved in a cross-module reference.
I try and reduce the problem, but it always disappears. It only appears when the number of modules and interaction between them becomes sufficient. I suspect that whatever it is that causes namespace forward referencing to fail may also be leading to this problem... just a hunch, but it's the best I've got.
