
I like the format where haddock has reference, and then the main module's synopsis has links to external documentation like papers and tutorials. A warning if the paper's terminology differs from the implementation would be nice! As for what the "main module" is, I would put everything in the package within a single root module and then put the links to learning material in the root module's synopsis, even if the root doesn't doesn't contain anything else, or is just re-exports. On the subject of quickcheck 2, the main page (which is http://www.cs.chalmers.se/~rjmh/QuickCheck/ according to hackage) doesn't give any indication that there are two versions, doesn't say to which version the docs apply to, doesn't have any release information, "current developments" doesn't look very current, and doesn't have any dates anyway. So I had no idea there were two versions, or that the newer version was better. Yeah, I'm basically echoing David, but my experience was the same.