{-# LANGUAGE GeneralizedNewtypeDeriving #-} module Data.IntMap.Polymorphic.Type where import qualified Data.IntMap.Strict as M newtype IntMap k v = IntMap { IntMap k v -> IntMap v rep :: M.IntMap v } deriving (b -> IntMap k v -> IntMap k v NonEmpty (IntMap k v) -> IntMap k v IntMap k v -> IntMap k v -> IntMap k v (IntMap k v -> IntMap k v -> IntMap k v) -> (NonEmpty (IntMap k v) -> IntMap k v) -> (forall b. Integral b => b -> IntMap k v -> IntMap k v) -> Semigroup (IntMap k v) forall b. Integral b => b -> IntMap k v -> IntMap k v forall a. (a -> a -> a) -> (NonEmpty a -> a) -> (forall b. Integral b => b -> a -> a) -> Semigroup a forall k v. NonEmpty (IntMap k v) -> IntMap k v forall k v. IntMap k v -> IntMap k v -> IntMap k v forall k v b. Integral b => b -> IntMap k v -> IntMap k v stimes :: b -> IntMap k v -> IntMap k v $cstimes :: forall k v b. Integral b => b -> IntMap k v -> IntMap k v sconcat :: NonEmpty (IntMap k v) -> IntMap k v $csconcat :: forall k v. NonEmpty (IntMap k v) -> IntMap k v <> :: IntMap k v -> IntMap k v -> IntMap k v $c<> :: forall k v. IntMap k v -> IntMap k v -> IntMap k v Semigroup, Semigroup (IntMap k v) IntMap k v Semigroup (IntMap k v) -> IntMap k v -> (IntMap k v -> IntMap k v -> IntMap k v) -> ([IntMap k v] -> IntMap k v) -> Monoid (IntMap k v) [IntMap k v] -> IntMap k v IntMap k v -> IntMap k v -> IntMap k v forall a. Semigroup a -> a -> (a -> a -> a) -> ([a] -> a) -> Monoid a forall k v. Semigroup (IntMap k v) forall k v. IntMap k v forall k v. [IntMap k v] -> IntMap k v forall k v. IntMap k v -> IntMap k v -> IntMap k v mconcat :: [IntMap k v] -> IntMap k v $cmconcat :: forall k v. [IntMap k v] -> IntMap k v mappend :: IntMap k v -> IntMap k v -> IntMap k v $cmappend :: forall k v. IntMap k v -> IntMap k v -> IntMap k v mempty :: IntMap k v $cmempty :: forall k v. IntMap k v $cp1Monoid :: forall k v. Semigroup (IntMap k v) Monoid)