    {-# LANGUAGE CPP #-}
    -----------------------------------------------------------------------------
    -- |
    -- Module      :  Data.Generics
    -- Copyright   :  (c) The University of Glasgow, CWI 2001--2004
    -- License     :  BSD-style (see the LICENSE file)
    --
    -- Maintainer  :  generics@haskell.org
    -- Stability   :  experimental
    -- Portability :  non-portable (uses Data.Generics.Basics)
    --
    -- \"Scrap your boilerplate\" --- Generic programming in Haskell
    -- See <http://www.cs.uu.nl/wiki/GenericProgramming/SYB>. To scrap your
    -- boilerplate it is sufficient to import the present module, which simply
    -- re-exports all themes of the Data.Generics library.
    --
    -----------------------------------------------------------------------------

    module Data.Generics (

      -- * All Data.Generics modules
      module Data.Data,               -- primitives and instances of the Data class
      module Data.Generics.Aliases,   -- aliases for type case, generic types
      module Data.Generics.Schemes,   -- traversal schemes (everywhere etc.)
      module Data.Generics.Text,      -- generic read and show
      module Data.Generics.Twins,     -- twin traversal, e.g., generic eq
      module Data.Generics.Builders,  -- term builders

     ) where

    ------------------------------------------------------------------------------

    import Data.Data
    import Data.Generics.Instances ()
    import Data.Generics.Aliases
    import Data.Generics.Schemes
    import Data.Generics.Text
    import Data.Generics.Twins
    import Data.Generics.Builders