
I recently noticed that it is no longer possible to read the source of a module, because extra type information (which is likely hidden in a modern browser) is inline with the actual sources.
I confirmed your example, reading with lynx and w3m. It seems the extra text is the methods of the type classes (mentioned after "deriving") and it gets shown on on mouse-over in a graphical browser. (Re: "nobody writes code like this" - the compiler does? Some methods here seem auto-generated.) Looks like a bug in haddock, then? (Or in lynx' handling of CSS?) The actual HTML source looks legit, at least partially (see example below) This seems related: https://github.com/haskell/haddock/pull/1197 I will open an issue on accessibility. - J.W. <span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679046279"><span id="local-6989586621679046281"><span id="local-6989586621679046283"><span class="annot"><span class="annottext">Int -> ISBN -> ShowS [ISBN] -> ShowS ISBN -> String (Int -> ISBN -> ShowS) -> (ISBN -> String) -> ([ISBN] -> ShowS) -> Show ISBN forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ISBN] -> ShowS $cshowList :: [ISBN] -> ShowS show :: ISBN -> String $cshow :: ISBN -> String showsPrec :: Int -> ISBN -> ShowS $cshowsPrec :: Int -> ISBN -> ShowS </span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span>