nhc98 now uses more of the code (shared with ghc) here.