Doesn't haddock define __HADDOCK__ by itself?

I would've thought

import qualified Data.ByteString as Bs
   ( ByteString
   , length
#ifdef __HADDOCK__
   , empty
#endif
   )

should work.

I did some conditional Haddocking in EMGM. See, for example:

  http://hackage.haskell.org/packages/archive/emgm/0.3.1/doc/html/src/Generics-EMGM-Data-Bool.html

Sean