    {-# OPTIONS -fno-warn-orphans #-}
    module Language.Haskell.Exts.Util
      ( -- * Free variables of ASTs
        FreeVars(..)
      , Vars(..)
      , AllVars(..)
        -- * Rebracketing of ASTs
      , Brackets(..)
      , paren
      , transformBracket
      , rebracket1
      , appsBracket

      ) where

    import Data.Default
    import Language.Haskell.Exts hiding (paren)
    import Language.Haskell.Exts.Bracket
    import Language.Haskell.Exts.FreeVars

    -- Orphan instances required for using the bracketing code with HSE source locs
    instance Default SrcLoc where
      def :: SrcLoc
    def = SrcLoc
    noLoc

    instance Default SrcSpan where
      def :: SrcSpan
    def = SrcSpanInfo -> SrcSpan
    srcInfoSpan SrcSpanInfo
    noSrcSpan

    instance Default SrcSpanInfo where
      def :: SrcSpanInfo
    def = SrcSpanInfo
    noSrcSpan