content: {- ORMOLU_DISABLE -}
  {-# LANGUAGE CPP #-}
  
  -- CPP: GHC >= 7.8 && <= 8 for 'pattern' required in the export list
  #if __GLASGOW_HASKELL__ >= 708 && __GLASGOW_HASKELL__ < 800
  {-# LANGUAGE PatternSynonyms #-}
  #endif
  
  -- CPP: GHC >= 7.8 for Safe Haskell
  #if __GLASGOW_HASKELL__ >= 708
  {-
  
  The 'Data.DList' module imports the unsafe module 'Data.DList.Internal' but
  exports only its safe aspects. Specifically, it does not export the 'DList'
  constructor 'UnsafeDList' or record label 'unsafeApplyDList'. Therefore, we mark
  'Data.DList' as trustworthy.
  
  -}
  {-# LANGUAGE Trustworthy #-}
  #endif
  
  -----------------------------------------------------------------------------
  
  {-|
  
  Module: Data.DList
  Copyright: © 2006-2009 Don Stewart, 2013-2020 Sean Leather
  License: BSD-3-Clause
  
  Maintainer: sean.leather@gmail.com
  Stability: stable
  
  A __difference list__ is an abstraction representing a list that
  supports&#x00A0;\(\mathcal{O}\)(@1@) 'append' and 'snoc' operations. This module
  provides the type for a difference list, 'DList', and a collection of supporting
  functions for (a) converting to and from lists and (b) operating on 'DList's
  efficiently.
  
  -}
  {- ORMOLU_ENABLE -}
  
  module Data.DList
    ( -- * Difference List Type
  
  -- CPP: GHC >= 8 for pattern synonyms allowed in the constructor
  #if __GLASGOW_HASKELL__ >= 800
      DList (Nil, Cons),
  #else
      DList,
  
  -- CPP: GHC >= 7.8 && <= 8 for 'pattern' required in the export list
  #if __GLASGOW_HASKELL__ >= 708
      -- ** Bundled Patterns
      pattern Nil,
      pattern Cons,
  #endif
  
  #endif
  
      -- * Conversion
      fromList,
      toList,
      apply,
  
      -- * Basic Functions
      empty,
      singleton,
      cons,
      snoc,
      append,
      concat,
      replicate,
      head,
      tail,
      unfoldr,
      foldr,
      map,
      intercalate,
    )
  where
  
  -----------------------------------------------------------------------------
  
  import Data.DList.Internal
  
  {- ORMOLU_DISABLE -}
  {-
  
  The 'Data.DList' module exists only to export names from 'Data.DList.Internal'.
  Some names conflict with 'Prelude', so we hide all imports from 'Prelude'.
  
  -}
  {- ORMOLU_ENABLE -}
  import Prelude ()
  