Well in some cases, it might not be easy to break up the libraries. If there is sufficient mutual dependency, doing so won't even help the situation. However, I already looked at the code to some large libraries, such as xmonad-contrib, and gtk2hs and am certain that no code modifications are needed for these libraries to be broken into more manageable "books". Often times, like is the case with
There's another consideration, which is are you optimizing hackage by pessimizing development? You could break xmonad-contrib into (usually) one package per module if you really wanted to --- but now the developers need to track a couple hundred packages and possibly as many darcs or git or whatever repos. You've just nibbled that project to death by making it too difficult for developers to bother with.
(cabal doesn't really let you have multiple packages per source tree currently; this would help some, but I suspect that would just expose more shortcomings in hackage with that kind of package setup.)
--