Who defines __GLASGOW_HASKELL__, __HADDOCK__, etc?