Legend:

If Haddock were built on top of the new GHC API, these shortcomings would be fixed, and Haddock would get a lot shorter (although the binary might be larger :-). GHC's parser would need to be adapted to handle Haddock-style documentation annotations, and the abstract syntax would have to carry these around.