geekosaur: To quote the GHC users guide: > Explicit export list: > If you do not have an explicit export list in a module, GHC must assume that everything in that module will be exported. This has various pessimising effects. For example, if a bit of code is actually unused (perhaps because of unfolding effects), GHC will not be able to throw it away, because it is exported and some other module may be relying on its existence. > GHC can be quite a bit more aggressive with pieces of code if it knows they are not exported.