[project @ 2003-02-14 14:22:24 by simonpj]
-------------------------------------
Do the top-level tcSimpifyTop (to resolve monomorphic constraints)
once for the whole program, rather than once per splice group
-------------------------------------
This change makes the trivial program
main = return ()
work again. It had stopped working (emitting an error about Monad m
being unconstrained) because the 'checkMain' stuff (which knows special
things about 'main' was happening only *after* all the groups of
decls in the module had been dealt with and zonked (incl tcSimplifyTop).
Better to postpone. A little more plumbing, but one fewer unexpected
happenings.