content: {- ORMOLU_DISABLE -}
  {-# LANGUAGE CPP #-}
  
  -- CPP: GHC >= 7.8 for Safe Haskell
  #if __GLASGOW_HASKELL__ >= 708
  {-# LANGUAGE Safe #-}
  #endif
  
  -----------------------------------------------------------------------------
  
  -- CPP: Ignore unused imports when Haddock is run
  #if defined(__HADDOCK_VERSION__)
  {-# OPTIONS_GHC -Wno-unused-imports #-}
  #endif
  
  -----------------------------------------------------------------------------
  
  {-|
  
  Module: Data.DList.DNonEmpty
  Copyright: © 2017-2020 Oleg Grenrus, 2020 Sean Leather
  License: BSD-3-Clause
  
  Maintainer: sean.leather@gmail.com
  Stability: stable
  
  A __non-empty difference list__ is a difference list paired with a 'head'
  element. Like the difference list, it supports&#x00A0;\(\mathcal{O}\)(@1@)
  'append' and 'snoc' operations.
  
  This module provides the type for a non-empty difference list, 'DNonEmpty', and
  a collection of supporting functions for (a) converting to and from 'NonEmpty'
  and 'DList' and (b) operating efficiently on 'DNonEmpty' values. The functions
  also retain the non-strict semantics of 'NonEmpty'.
  
  -}
  {- ORMOLU_ENABLE -}
  
  module Data.DList.DNonEmpty
    ( -- * Non-Empty Difference List Type
      DNonEmpty((:|)),
  
      -- * Conversion
      fromNonEmpty,
      toNonEmpty,
      toList,
      fromList,
  
      -- * Basic Functions
      singleton,
      cons,
      snoc,
      append,
      head,
      tail,
      unfoldr,
      map,
    )
  where
  
  -----------------------------------------------------------------------------
  
  import Data.DList.DNonEmpty.Internal
  
  -- CPP: Import only for Haddock
  #if defined(__HADDOCK_VERSION__)
  import Data.List.NonEmpty (NonEmpty)
  import Data.DList (DList)
  #endif
  
  {- ORMOLU_DISABLE -}
  {-
  
  The 'Data.DList.DNonEmpty' module exists only to export names from
  'Data.DList.DNonEmpty.Internal'. Some names conflict with 'Prelude', so we hide
  all imports from 'Prelude'.
  
  -}
  {- ORMOLU_ENABLE -}
  import Prelude ()
  