Simon, it looks like I'm running into problems similar to those Edsko described in the email "Top-level type signatures in TcGblEnv?" to ghc-devs a while ago. The complete information about a source file is spread out over several different ASTs.