{-# LANGUAGE CPP, NoImplicitPrelude, PackageImports #-}
#if __GLASGOW_HASKELL__ >= 708
{-# LANGUAGE PatternSynonyms #-}
#endif
module Data.Tuple.Compat
  (
#if MIN_VERSION_ghc_prim(0,10,0)
    Solo(MkSolo, Solo)
#elif __GLASGOW_HASKELL__ >= 708 && \
      __GLASGOW_HASKELL__ < 800 && \
      defined(MIN_VERSION_OneTuple)
# if MIN_VERSION_OneTuple(0,4,0)
    Solo
  , pattern Solo
# else
    Solo(Solo)
# endif
#else
    Solo(Solo)
#endif
  , fst
  , snd
  , curry
  , uncurry
  , swap
  ) where

#if MIN_VERSION_ghc_prim(0,7,0)
import "base-compat" Data.Tuple.Compat
#else
import "base" Data.Tuple
import "OneTuple" Data.Tuple.Solo
#endif