{-# LANGUAGE CPP #-}
#if !defined(TESTING) && __GLASGOW_HASKELL__ >= 703
{-# LANGUAGE Safe #-}
#endif
module Data.Map
( module Data.Map.Lazy
, insertWith'
, insertWithKey'
, insertLookupWithKey'
, fold
, foldWithKey
) where
import Prelude hiding (foldr)
import Data.Map.Lazy
import qualified Data.Map.Strict as Strict
insertWith' :: Ord k => (a -> a -> a) -> k -> a -> Map k a -> Map k a
insertWith' = Strict.insertWith
#if __GLASGOW_HASKELL__ >= 700
#else
{-# INLINE insertWith' #-}
#endif
insertWithKey' :: Ord k => (k -> a -> a -> a) -> k -> a -> Map k a -> Map k a
insertWithKey' = Strict.insertWithKey
#if __GLASGOW_HASKELL__ >= 700
#else
{-# INLINE insertWithKey' #-}
#endif
insertLookupWithKey' :: Ord k => (k -> a -> a -> a) -> k -> a -> Map k a
-> (Maybe a, Map k a)
insertLookupWithKey' = Strict.insertLookupWithKey
#if __GLASGOW_HASKELL__ >= 700
#else
{-# INLINE insertLookupWithKey' #-}
#endif
fold :: (a -> b -> b) -> b -> Map k a -> b
fold = foldr
{-# INLINE fold #-}
foldWithKey :: (k -> a -> b -> b) -> b -> Map k a -> b
foldWithKey = foldrWithKey
{-# INLINE foldWithKey #-}