-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Keyed functors and containers -- -- This package provides a bunch of ad hoc classes for accessing parts of -- a container. -- -- In practice this package is largely subsumed by the lens -- package, but it is maintained for now as it has much simpler -- dependencies. @package keys @version 3.12.4 module Data.Key type family Key (f :: * -> *) class Functor f => Keyed f mapWithKey :: Keyed f => (Key f -> a -> b) -> f a -> f b (<#$>) :: Keyed f => (Key f -> a -> b) -> f a -> f b infixl 4 <#$> keyed :: Keyed f => f a -> f (Key f, a) -- | Laws: -- --
-- fmap fst (zip u u) = u -- fmap snd (zip u u) = u -- zip (fmap fst u) (fmap snd u) = u -- zip (flip (,)) x y = zip y x --class Functor f => Zip f zipWith :: Zip f => (a -> b -> c) -> f a -> f b -> f c zip :: Zip f => f a -> f b -> f (a, b) zap :: Zip f => f (a -> b) -> f a -> f b class (Keyed f, Zip f) => ZipWithKey f zipWithKey :: ZipWithKey f => (Key f -> a -> b -> c) -> f a -> f b -> f c zapWithKey :: ZipWithKey f => f (Key f -> a -> b) -> f a -> f b class Lookup f => Indexable f index :: Indexable f => f a -> Key f -> a (!) :: Indexable f => f a -> Key f -> a class Lookup f lookup :: Lookup f => Key f -> f a -> Maybe a lookupDefault :: Indexable f => Key f -> f a -> Maybe a class Functor f => Adjustable f adjust :: Adjustable f => (a -> a) -> Key f -> f a -> f a replace :: Adjustable f => Key f -> a -> f a -> f a class Foldable t => FoldableWithKey t toKeyedList :: FoldableWithKey t => t a -> [(Key t, a)] foldMapWithKey :: (FoldableWithKey t, Monoid m) => (Key t -> a -> m) -> t a -> m foldrWithKey :: FoldableWithKey t => (Key t -> a -> b -> b) -> b -> t a -> b foldlWithKey :: FoldableWithKey t => (b -> Key t -> a -> b) -> b -> t a -> b foldrWithKey' :: FoldableWithKey t => (Key t -> a -> b -> b) -> b -> t a -> b foldlWithKey' :: FoldableWithKey t => (b -> Key t -> a -> b) -> b -> t a -> b foldrWithKeyM :: (FoldableWithKey t, Monad m) => (Key t -> a -> b -> m b) -> b -> t a -> m b foldlWithKeyM :: (FoldableWithKey t, Monad m) => (b -> Key t -> a -> m b) -> b -> t a -> m b traverseWithKey_ :: (FoldableWithKey t, Applicative f) => (Key t -> a -> f b) -> t a -> f () forWithKey_ :: (FoldableWithKey t, Applicative f) => t a -> (Key t -> a -> f b) -> f () mapWithKeyM_ :: (FoldableWithKey t, Monad m) => (Key t -> a -> m b) -> t a -> m () forWithKeyM_ :: (FoldableWithKey t, Monad m) => t a -> (Key t -> a -> m b) -> m () concatMapWithKey :: FoldableWithKey t => (Key t -> a -> [b]) -> t a -> [b] anyWithKey :: FoldableWithKey t => (Key t -> a -> Bool) -> t a -> Bool allWithKey :: FoldableWithKey t => (Key t -> a -> Bool) -> t a -> Bool findWithKey :: FoldableWithKey t => (Key t -> a -> Bool) -> t a -> Maybe a class (Foldable1 t, FoldableWithKey t) => FoldableWithKey1 t foldMapWithKey1 :: (FoldableWithKey1 t, Semigroup m) => (Key t -> a -> m) -> t a -> m traverseWithKey1_ :: (FoldableWithKey1 t, Apply f) => (Key t -> a -> f b) -> t a -> f () forWithKey1_ :: (FoldableWithKey1 t, Apply f) => t a -> (Key t -> a -> f b) -> f () foldMapWithKeyDefault1 :: (FoldableWithKey1 t, Monoid m) => (Key t -> a -> m) -> t a -> m class (Keyed t, FoldableWithKey t, Traversable t) => TraversableWithKey t traverseWithKey :: (TraversableWithKey t, Applicative f) => (Key t -> a -> f b) -> t a -> f (t b) mapWithKeyM :: (TraversableWithKey t, Monad m) => (Key t -> a -> m b) -> t a -> m (t b) forWithKey :: (TraversableWithKey t, Applicative f) => t a -> (Key t -> a -> f b) -> f (t b) forWithKeyM :: (TraversableWithKey t, Monad m) => t a -> (Key t -> a -> m b) -> m (t b) -- | The mapAccumWithKeyL function behaves like a combination of -- mapWithKey and foldlWithKey; it applies a function to -- each element of a structure, passing an accumulating parameter from -- left to right, and returning a final value of this accumulator -- together with the new structure. mapAccumWithKeyL :: TraversableWithKey t => (Key t -> a -> b -> (a, c)) -> a -> t b -> (a, t c) -- | The mapAccumWithKeyR function behaves like a combination of -- mapWithKey and foldrWithKey; it applies a function to -- each element of a structure, passing an accumulating parameter from -- right to left, and returning a final value of this accumulator -- together with the new structure. mapAccumWithKeyR :: TraversableWithKey t => (Key t -> a -> b -> (a, c)) -> a -> t b -> (a, t c) mapWithKeyDefault :: TraversableWithKey t => (Key t -> a -> b) -> t a -> t b -- | This function may be used as a value for foldMapWithKey in a -- FoldableWithKey instance. foldMapWithKeyDefault :: (TraversableWithKey t, Monoid m) => (Key t -> a -> m) -> t a -> m class (Traversable1 t, FoldableWithKey1 t, TraversableWithKey t) => TraversableWithKey1 t traverseWithKey1 :: (TraversableWithKey1 t, Apply f) => (Key t -> a -> f b) -> t a -> f (t b) foldMapWithKey1Default :: (TraversableWithKey1 t, Semigroup m) => (Key t -> a -> m) -> t a -> m instance Data.Key.TraversableWithKey1 (Data.Tagged.Tagged a) instance Data.Key.TraversableWithKey1 f => Data.Key.TraversableWithKey1 (Control.Comonad.Cofree.Cofree f) instance Data.Key.TraversableWithKey1 Data.Tree.Tree instance Data.Key.TraversableWithKey1 f => Data.Key.TraversableWithKey1 (Control.Monad.Free.Free f) instance Data.Key.TraversableWithKey1 GHC.Generics.Par1 instance Data.Key.TraversableWithKey1 f => Data.Key.TraversableWithKey1 (GHC.Generics.Rec1 f) instance Data.Key.TraversableWithKey1 f => Data.Key.TraversableWithKey1 (GHC.Generics.M1 i c f) instance Data.Key.TraversableWithKey1 GHC.Generics.V1 instance (Data.Key.TraversableWithKey1 f, Data.Key.TraversableWithKey1 g) => Data.Key.TraversableWithKey1 (f GHC.Generics.:*: g) instance (Data.Key.TraversableWithKey1 f, Data.Key.TraversableWithKey1 g) => Data.Key.TraversableWithKey1 (f GHC.Generics.:+: g) instance Data.Key.TraversableWithKey1 Data.Functor.Identity.Identity instance Data.Key.TraversableWithKey1 m => Data.Key.TraversableWithKey1 (Control.Monad.Trans.Identity.IdentityT m) instance (Data.Key.TraversableWithKey1 f, Data.Key.TraversableWithKey1 m) => Data.Key.TraversableWithKey1 (Data.Functor.Compose.Compose f m) instance Data.Key.TraversableWithKey1 GHC.Base.NonEmpty instance (Data.Key.TraversableWithKey1 f, Data.Key.TraversableWithKey1 g) => Data.Key.TraversableWithKey1 (Data.Functor.Sum.Sum f g) instance (Data.Key.TraversableWithKey1 f, Data.Key.TraversableWithKey1 g) => Data.Key.TraversableWithKey1 (Data.Functor.Product.Product f g) instance Data.Key.TraversableWithKey1 ((,) k) instance GHC.Base.Functor (Data.Key.StateR s) instance GHC.Base.Applicative (Data.Key.StateR s) instance GHC.Base.Functor (Data.Key.StateL s) instance GHC.Base.Applicative (Data.Key.StateL s) instance Data.Key.TraversableWithKey (Data.Tagged.Tagged a) instance Data.Key.TraversableWithKey Data.Proxy.Proxy instance Data.Key.TraversableWithKey (Data.Functor.Const.Const e) instance Data.Key.TraversableWithKey (Data.Functor.Constant.Constant e) instance Data.Key.TraversableWithKey f => Data.Key.TraversableWithKey (Control.Comonad.Cofree.Cofree f) instance Data.Key.TraversableWithKey Data.Tree.Tree instance Data.Key.TraversableWithKey f => Data.Key.TraversableWithKey (Control.Monad.Free.Free f) instance (Data.Key.TraversableWithKey f, Data.Key.TraversableWithKey g) => Data.Key.TraversableWithKey (f GHC.Generics.:*: g) instance (Data.Key.TraversableWithKey f, Data.Key.TraversableWithKey g) => Data.Key.TraversableWithKey (f GHC.Generics.:+: g) instance Data.Key.TraversableWithKey GHC.Generics.Par1 instance Data.Key.TraversableWithKey GHC.Generics.U1 instance Data.Key.TraversableWithKey GHC.Generics.V1 instance Data.Key.TraversableWithKey (GHC.Generics.K1 i c) instance Data.Key.TraversableWithKey f => Data.Key.TraversableWithKey (GHC.Generics.Rec1 f) instance Data.Key.TraversableWithKey f => Data.Key.TraversableWithKey (GHC.Generics.M1 i c f) instance Data.Key.TraversableWithKey Data.Functor.Identity.Identity instance Data.Key.TraversableWithKey m => Data.Key.TraversableWithKey (Control.Monad.Trans.Identity.IdentityT m) instance Data.Key.TraversableWithKey Data.IntMap.Internal.IntMap instance (Data.Key.TraversableWithKey f, Data.Key.TraversableWithKey m) => Data.Key.TraversableWithKey (Data.Functor.Compose.Compose f m) instance Data.Key.TraversableWithKey [] instance Data.Key.TraversableWithKey Control.Applicative.ZipList instance Data.Key.TraversableWithKey GHC.Base.NonEmpty instance Data.Key.TraversableWithKey Data.Sequence.Internal.Seq instance Data.Key.TraversableWithKey (Data.Map.Internal.Map k) instance GHC.Ix.Ix i => Data.Key.TraversableWithKey (GHC.Arr.Array i) instance (Data.Key.TraversableWithKey f, Data.Key.TraversableWithKey g) => Data.Key.TraversableWithKey (Data.Functor.Sum.Sum f g) instance (Data.Key.TraversableWithKey f, Data.Key.TraversableWithKey g) => Data.Key.TraversableWithKey (Data.Functor.Product.Product f g) instance Data.Key.TraversableWithKey ((,) k) instance Data.Key.TraversableWithKey (Data.HashMap.Internal.HashMap k) instance Data.Key.TraversableWithKey GHC.Maybe.Maybe instance Data.Functor.Bind.Class.Apply f => GHC.Base.Semigroup (Data.Key.Act f a) instance GHC.Base.Functor f => GHC.Base.Functor (Data.Key.Act f) instance Data.Key.FoldableWithKey1 f => Data.Key.FoldableWithKey1 (Control.Comonad.Cofree.Cofree f) instance Data.Key.FoldableWithKey1 Data.Tree.Tree instance Data.Key.FoldableWithKey1 f => Data.Key.FoldableWithKey1 (Control.Monad.Free.Free f) instance Data.Key.FoldableWithKey1 (Data.Tagged.Tagged a) instance (Data.Key.FoldableWithKey1 f, Data.Key.FoldableWithKey1 g) => Data.Key.FoldableWithKey1 (f GHC.Generics.:*: g) instance (Data.Key.FoldableWithKey1 f, Data.Key.FoldableWithKey1 g) => Data.Key.FoldableWithKey1 (f GHC.Generics.:+: g) instance Data.Key.FoldableWithKey1 GHC.Generics.V1 instance Data.Key.FoldableWithKey1 GHC.Generics.Par1 instance Data.Key.FoldableWithKey1 f => Data.Key.FoldableWithKey1 (GHC.Generics.M1 i c f) instance Data.Key.FoldableWithKey1 f => Data.Key.FoldableWithKey1 (GHC.Generics.Rec1 f) instance Data.Key.FoldableWithKey1 Data.Functor.Identity.Identity instance Data.Key.FoldableWithKey1 m => Data.Key.FoldableWithKey1 (Control.Monad.Trans.Identity.IdentityT m) instance (Data.Key.FoldableWithKey1 f, Data.Key.FoldableWithKey1 m) => Data.Key.FoldableWithKey1 (Data.Functor.Compose.Compose f m) instance Data.Key.FoldableWithKey1 GHC.Base.NonEmpty instance (Data.Key.FoldableWithKey1 f, Data.Key.FoldableWithKey1 g) => Data.Key.FoldableWithKey1 (Data.Functor.Sum.Sum f g) instance (Data.Key.FoldableWithKey1 f, Data.Key.FoldableWithKey1 g) => Data.Key.FoldableWithKey1 (Data.Functor.Product.Product f g) instance Data.Key.FoldableWithKey1 ((,) k) instance Data.Key.FoldableWithKey f => Data.Key.FoldableWithKey (Control.Monad.Free.Free f) instance Data.Key.FoldableWithKey f => Data.Key.FoldableWithKey (Control.Comonad.Cofree.Cofree f) instance Data.Key.FoldableWithKey (Data.Tagged.Tagged a) instance Data.Key.FoldableWithKey Data.Proxy.Proxy instance Data.Key.FoldableWithKey (Data.Functor.Const.Const e) instance Data.Key.FoldableWithKey (Data.Functor.Constant.Constant e) instance Data.Key.FoldableWithKey Data.Tree.Tree instance Data.Key.FoldableWithKey GHC.Generics.Par1 instance (Data.Key.FoldableWithKey f, Data.Key.FoldableWithKey g) => Data.Key.FoldableWithKey (f GHC.Generics.:*: g) instance (Data.Key.FoldableWithKey f, Data.Key.FoldableWithKey g) => Data.Key.FoldableWithKey (f GHC.Generics.:+: g) instance Data.Key.FoldableWithKey GHC.Generics.U1 instance Data.Key.FoldableWithKey GHC.Generics.V1 instance Data.Key.FoldableWithKey (GHC.Generics.K1 i c) instance Data.Key.FoldableWithKey f => Data.Key.FoldableWithKey (GHC.Generics.M1 i c f) instance Data.Key.FoldableWithKey f => Data.Key.FoldableWithKey (GHC.Generics.Rec1 f) instance Data.Key.FoldableWithKey Data.Functor.Identity.Identity instance Data.Key.FoldableWithKey m => Data.Key.FoldableWithKey (Control.Monad.Trans.Identity.IdentityT m) instance Data.Key.FoldableWithKey Data.IntMap.Internal.IntMap instance (Data.Key.FoldableWithKey f, Data.Key.FoldableWithKey m) => Data.Key.FoldableWithKey (Data.Functor.Compose.Compose f m) instance Data.Key.FoldableWithKey [] instance Data.Key.FoldableWithKey Control.Applicative.ZipList instance Data.Key.FoldableWithKey GHC.Base.NonEmpty instance Data.Key.FoldableWithKey Data.Sequence.Internal.Seq instance Data.Key.FoldableWithKey (Data.Map.Internal.Map k) instance GHC.Ix.Ix i => Data.Key.FoldableWithKey (GHC.Arr.Array i) instance (Data.Key.FoldableWithKey f, Data.Key.FoldableWithKey g) => Data.Key.FoldableWithKey (Data.Functor.Sum.Sum f g) instance (Data.Key.FoldableWithKey f, Data.Key.FoldableWithKey g) => Data.Key.FoldableWithKey (Data.Functor.Product.Product f g) instance Data.Key.FoldableWithKey ((,) k) instance Data.Key.FoldableWithKey (Data.HashMap.Internal.HashMap k) instance Data.Key.FoldableWithKey GHC.Maybe.Maybe instance Data.Key.Adjustable f => Data.Key.Adjustable (Control.Monad.Free.Free f) instance Data.Key.Adjustable f => Data.Key.Adjustable (Control.Comonad.Cofree.Cofree f) instance Data.Key.Adjustable Data.Tree.Tree instance Data.Key.Adjustable (Data.Tagged.Tagged a) instance Data.Key.Adjustable Data.Proxy.Proxy instance Data.Key.Adjustable (Data.Functor.Const.Const e) instance Data.Key.Adjustable (Data.Functor.Constant.Constant e) instance Data.Key.Adjustable GHC.Generics.U1 instance Data.Key.Adjustable GHC.Generics.Par1 instance Data.Key.Adjustable f => Data.Key.Adjustable (GHC.Generics.Rec1 f) instance Data.Key.Adjustable f => Data.Key.Adjustable (GHC.Generics.M1 i c f) instance Data.Key.Adjustable (GHC.Generics.K1 i c) instance (Data.Key.Adjustable f, Data.Key.Adjustable g) => Data.Key.Adjustable (f GHC.Generics.:+: g) instance (Data.Key.Adjustable f, Data.Key.Adjustable g) => Data.Key.Adjustable (f GHC.Generics.:*: g) instance (Data.Key.Adjustable f, Data.Key.Adjustable g) => Data.Key.Adjustable (g GHC.Generics.:.: f) instance Data.Key.Adjustable Data.Functor.Identity.Identity instance Data.Key.Adjustable Data.IntMap.Internal.IntMap instance Data.Key.Adjustable [] instance Data.Key.Adjustable Control.Applicative.ZipList instance Data.Key.Adjustable GHC.Base.NonEmpty instance Data.Key.Adjustable Data.Sequence.Internal.Seq instance GHC.Classes.Ord k => Data.Key.Adjustable (Data.Map.Internal.Map k) instance GHC.Ix.Ix i => Data.Key.Adjustable (GHC.Arr.Array i) instance (Data.Key.Adjustable f, Data.Key.Adjustable g) => Data.Key.Adjustable (Data.Functor.Sum.Sum f g) instance (Data.Key.Adjustable f, Data.Key.Adjustable g) => Data.Key.Adjustable (Data.Functor.Product.Product f g) instance Data.Key.Indexable f => Data.Key.Indexable (Control.Comonad.Cofree.Cofree f) instance Data.Key.Indexable (Data.Tagged.Tagged a) instance Data.Key.Indexable Data.Proxy.Proxy instance Data.Key.Indexable (Data.Functor.Const.Const e) instance Data.Key.Indexable (Data.Functor.Constant.Constant e) instance Data.Key.Indexable Data.Tree.Tree instance Data.Key.Indexable GHC.Generics.U1 instance Data.Key.Indexable GHC.Generics.Par1 instance Data.Key.Indexable f => Data.Key.Indexable (GHC.Generics.Rec1 f) instance Data.Key.Indexable f => Data.Key.Indexable (GHC.Generics.M1 i c f) instance Data.Key.Indexable (GHC.Generics.K1 i c) instance (Data.Key.Indexable g, Data.Key.Indexable f) => Data.Key.Indexable (f GHC.Generics.:*: g) instance (Data.Key.Indexable g, Data.Key.Indexable f) => Data.Key.Indexable (g GHC.Generics.:.: f) instance (Data.Key.Indexable g, Data.Key.Indexable f) => Data.Key.Lookup (f GHC.Generics.:*: g) instance (Data.Key.Indexable g, Data.Key.Indexable f) => Data.Key.Lookup (g GHC.Generics.:.: f) instance Data.Key.Indexable Data.Functor.Identity.Identity instance Data.Key.Indexable m => Data.Key.Indexable (Control.Monad.Trans.Identity.IdentityT m) instance Data.Key.Indexable ((->) a) instance Data.Key.Indexable m => Data.Key.Indexable (Control.Monad.Trans.Reader.ReaderT e m) instance Data.Key.Indexable w => Data.Key.Indexable (Control.Comonad.Trans.Traced.TracedT s w) instance Data.Key.Indexable Data.IntMap.Internal.IntMap instance (Data.Key.Indexable f, Data.Key.Indexable g) => Data.Key.Indexable (Data.Functor.Compose.Compose f g) instance Data.Key.Indexable [] instance Data.Key.Indexable Control.Applicative.ZipList instance Data.Key.Indexable GHC.Base.NonEmpty instance Data.Key.Indexable Data.Sequence.Internal.Seq instance GHC.Classes.Ord k => Data.Key.Indexable (Data.Map.Internal.Map k) instance GHC.Ix.Ix i => Data.Key.Indexable (GHC.Arr.Array i) instance (Data.Key.Indexable f, Data.Key.Indexable g) => Data.Key.Indexable (Data.Functor.Sum.Sum f g) instance (Data.Key.Indexable f, Data.Key.Indexable g) => Data.Key.Indexable (Data.Functor.Product.Product f g) instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Data.Key.Indexable (Data.HashMap.Internal.HashMap k) instance Data.Key.Indexable GHC.Maybe.Maybe instance Data.Key.Lookup f => Data.Key.Lookup (Control.Comonad.Cofree.Cofree f) instance Data.Key.Lookup (Data.Tagged.Tagged a) instance Data.Key.Lookup Data.Proxy.Proxy instance Data.Key.Lookup (Data.Functor.Const.Const e) instance Data.Key.Lookup (Data.Functor.Constant.Constant e) instance Data.Key.Lookup Data.Tree.Tree instance Data.Key.Lookup f => Data.Key.Lookup (Control.Monad.Free.Free f) instance Data.Key.Lookup GHC.Generics.U1 instance Data.Key.Lookup GHC.Generics.Par1 instance Data.Key.Lookup f => Data.Key.Lookup (GHC.Generics.Rec1 f) instance Data.Key.Lookup f => Data.Key.Lookup (GHC.Generics.M1 i c f) instance Data.Key.Lookup (GHC.Generics.K1 i c) instance Data.Key.Lookup Data.Functor.Identity.Identity instance Data.Key.Lookup m => Data.Key.Lookup (Control.Monad.Trans.Identity.IdentityT m) instance Data.Key.Lookup ((->) a) instance Data.Key.Lookup m => Data.Key.Lookup (Control.Monad.Trans.Reader.ReaderT e m) instance Data.Key.Lookup w => Data.Key.Lookup (Control.Comonad.Trans.Traced.TracedT s w) instance Data.Key.Lookup Data.IntMap.Internal.IntMap instance (Data.Key.Lookup f, Data.Key.Lookup g) => Data.Key.Lookup (Data.Functor.Compose.Compose f g) instance Data.Key.Lookup [] instance Data.Key.Lookup Control.Applicative.ZipList instance Data.Key.Lookup GHC.Base.NonEmpty instance Data.Key.Lookup Data.Sequence.Internal.Seq instance GHC.Classes.Ord k => Data.Key.Lookup (Data.Map.Internal.Map k) instance GHC.Ix.Ix i => Data.Key.Lookup (GHC.Arr.Array i) instance (Data.Key.Lookup f, Data.Key.Lookup g) => Data.Key.Lookup (Data.Functor.Sum.Sum f g) instance (Data.Key.Lookup f, Data.Key.Lookup g) => Data.Key.Lookup (Data.Functor.Product.Product f g) instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Data.Key.Lookup (Data.HashMap.Internal.HashMap k) instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Data.Key.ZipWithKey (Data.HashMap.Internal.HashMap k) instance Data.Key.Lookup GHC.Maybe.Maybe instance Data.Key.ZipWithKey f => Data.Key.ZipWithKey (Control.Comonad.Cofree.Cofree f) instance Data.Key.ZipWithKey Data.Tree.Tree instance Data.Key.ZipWithKey (Data.Tagged.Tagged a) instance Data.Key.ZipWithKey Data.Proxy.Proxy instance Data.Key.ZipWithKey GHC.Generics.U1 instance Data.Key.ZipWithKey GHC.Generics.V1 instance Data.Key.ZipWithKey GHC.Generics.Par1 instance Data.Key.ZipWithKey f => Data.Key.ZipWithKey (GHC.Generics.Rec1 f) instance Data.Key.ZipWithKey f => Data.Key.ZipWithKey (GHC.Generics.M1 i c f) instance (Data.Key.ZipWithKey f, Data.Key.ZipWithKey g) => Data.Key.ZipWithKey (f GHC.Generics.:*: g) instance (Data.Key.ZipWithKey f, Data.Key.ZipWithKey g) => Data.Key.ZipWithKey (g GHC.Generics.:.: f) instance Data.Key.ZipWithKey Data.Functor.Identity.Identity instance Data.Key.ZipWithKey m => Data.Key.ZipWithKey (Control.Monad.Trans.Identity.IdentityT m) instance Data.Key.ZipWithKey ((->) a) instance Data.Key.ZipWithKey m => Data.Key.ZipWithKey (Control.Monad.Trans.Reader.ReaderT e m) instance Data.Key.ZipWithKey w => Data.Key.ZipWithKey (Control.Comonad.Trans.Traced.TracedT s w) instance Data.Key.ZipWithKey Data.IntMap.Internal.IntMap instance (Data.Key.ZipWithKey f, Data.Key.ZipWithKey g) => Data.Key.ZipWithKey (Data.Functor.Compose.Compose f g) instance Data.Key.ZipWithKey [] instance Data.Key.ZipWithKey Control.Applicative.ZipList instance Data.Key.ZipWithKey GHC.Base.NonEmpty instance Data.Key.ZipWithKey Data.Sequence.Internal.Seq instance GHC.Classes.Ord k => Data.Key.ZipWithKey (Data.Map.Internal.Map k) instance (Data.Key.ZipWithKey f, Data.Key.ZipWithKey g) => Data.Key.ZipWithKey (Data.Functor.Product.Product f g) instance Data.Key.ZipWithKey GHC.Maybe.Maybe instance Data.Key.Zip f => Data.Key.Zip (Control.Comonad.Cofree.Cofree f) instance Data.Key.Zip Data.Tree.Tree instance Data.Key.Zip Data.Proxy.Proxy instance Data.Key.Zip (Data.Tagged.Tagged a) instance Data.Key.Zip GHC.Generics.U1 instance Data.Key.Zip GHC.Generics.V1 instance Data.Key.Zip GHC.Generics.Par1 instance (Data.Key.Zip f, Data.Key.Zip g) => Data.Key.Zip (f GHC.Generics.:*: g) instance (Data.Key.Zip f, Data.Key.Zip g) => Data.Key.Zip (g GHC.Generics.:.: f) instance Data.Key.Zip f => Data.Key.Zip (GHC.Generics.Rec1 f) instance Data.Key.Zip f => Data.Key.Zip (GHC.Generics.M1 i c f) instance Data.Key.Zip Data.Functor.Identity.Identity instance Data.Key.Zip m => Data.Key.Zip (Control.Monad.Trans.Identity.IdentityT m) instance Data.Key.Zip ((->) a) instance Data.Key.Zip m => Data.Key.Zip (Control.Monad.Trans.Reader.ReaderT e m) instance Data.Key.Zip w => Data.Key.Zip (Control.Comonad.Trans.Traced.TracedT s w) instance Data.Key.Zip Data.IntMap.Internal.IntMap instance (Data.Key.Zip f, Data.Key.Zip g) => Data.Key.Zip (Data.Functor.Compose.Compose f g) instance Data.Key.Zip [] instance Data.Key.Zip Control.Applicative.ZipList instance Data.Key.Zip GHC.Base.NonEmpty instance Data.Key.Zip Data.Sequence.Internal.Seq instance GHC.Classes.Ord k => Data.Key.Zip (Data.Map.Internal.Map k) instance (Data.Key.Zip f, Data.Key.Zip g) => Data.Key.Zip (Data.Functor.Product.Product f g) instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Data.Key.Zip (Data.HashMap.Internal.HashMap k) instance Data.Key.Zip GHC.Maybe.Maybe instance Data.Key.Keyed f => Data.Key.Keyed (Control.Monad.Free.Free f) instance Data.Key.Keyed f => Data.Key.Keyed (Control.Comonad.Cofree.Cofree f) instance Data.Key.Keyed Data.Tree.Tree instance Data.Key.Keyed GHC.Generics.U1 instance Data.Key.Keyed GHC.Generics.V1 instance Data.Key.Keyed GHC.Generics.Par1 instance Data.Key.Keyed (GHC.Generics.K1 i c) instance Data.Key.Keyed (Data.Tagged.Tagged a) instance Data.Key.Keyed Data.Proxy.Proxy instance Data.Key.Keyed (Data.Functor.Const.Const e) instance Data.Key.Keyed (Data.Functor.Constant.Constant e) instance Data.Key.Keyed f => Data.Key.Keyed (GHC.Generics.M1 i c f) instance Data.Key.Keyed f => Data.Key.Keyed (GHC.Generics.Rec1 f) instance (Data.Key.Keyed g, Data.Key.Keyed f) => Data.Key.Keyed (f GHC.Generics.:*: g) instance (Data.Key.Keyed g, Data.Key.Keyed f) => Data.Key.Keyed (f GHC.Generics.:+: g) instance (Data.Key.Keyed g, Data.Key.Keyed f) => Data.Key.Keyed (g GHC.Generics.:.: f) instance Data.Key.Keyed Data.Functor.Identity.Identity instance Data.Key.Keyed m => Data.Key.Keyed (Control.Monad.Trans.Identity.IdentityT m) instance Data.Key.Keyed ((->) a) instance Data.Key.Keyed m => Data.Key.Keyed (Control.Monad.Trans.Reader.ReaderT e m) instance Data.Key.Keyed w => Data.Key.Keyed (Control.Comonad.Trans.Traced.TracedT s w) instance Data.Key.Keyed Data.IntMap.Internal.IntMap instance (Data.Key.Keyed f, Data.Key.Keyed g) => Data.Key.Keyed (Data.Functor.Compose.Compose f g) instance Data.Key.Keyed [] instance Data.Key.Keyed Control.Applicative.ZipList instance Data.Key.Keyed GHC.Base.NonEmpty instance Data.Key.Keyed Data.Sequence.Internal.Seq instance Data.Key.Keyed (Data.Map.Internal.Map k) instance GHC.Ix.Ix i => Data.Key.Keyed (GHC.Arr.Array i) instance (Data.Key.Keyed f, Data.Key.Keyed g) => Data.Key.Keyed (Data.Functor.Sum.Sum f g) instance (Data.Key.Keyed f, Data.Key.Keyed g) => Data.Key.Keyed (Data.Functor.Product.Product f g) instance Data.Key.Keyed ((,) k) instance Data.Key.Keyed (Data.HashMap.Internal.HashMap k) instance Data.Key.Keyed GHC.Maybe.Maybe