-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Containers abstraction and utilities. -- -- Containers abstraction and utilities. @package container @version 1.0.1 module Data.Container.Parametrized module Data.Container.Type module Data.Container.Opts data Opt a P :: a -> Opt a N :: Opt a data Knowledge a Known :: a -> Knowledge a Unknown :: Knowledge a data Ixed Ixed :: Ixed data Safe Safe :: Safe data Unchecked Unchecked :: Unchecked data Unsafe Unsafe :: Unsafe data Inplace Inplace :: Inplace data Try Try :: Try data Raw Raw :: Raw data Query (mods :: [*]) (params :: [*]) Query :: Query data OptQuery (mods :: [Opt *]) (params :: [Opt *]) OptQuery :: OptQuery newtype OptBuilder (mods :: [*]) (params :: [*]) a OptBuilder :: a -> OptBuilder a type OptBuilderBase = OptBuilder '[] '[] class FuncTrans mods params f a | a mods params -> f transFunc :: FuncTrans mods params f a => OptBuilder mods params f -> a class FuncBuilder f a | a -> f buildFunc :: FuncBuilder f a => f -> a optBuilder :: f -> OptBuilderBase f queryBuilder :: FuncTrans '[] '[] f a => f -> a extendOptBuilder :: Query newMods newParams -> Query collectedMods collectedParams -> OptBuilder mods params a -> OptBuilder (Concat newMods (Concat collectedMods mods)) (Concat newParams (Concat collectedParams params)) a appFunc :: (f -> g) -> OptBuilder ms ps f -> OptBuilder ms ps g withTransFunc :: FuncTrans mods params f c => (f1 -> f) -> OptBuilder mods params f1 -> c type Concat lst lst' = Concat' (Reverse lst) lst' type Reverse lst = Reverse' lst '[] class GetOptData (provided :: [*]) datas opt getOptData :: GetOptData provided datas opt => Proxy provided -> datas -> Proxy opt -> OptData provided datas opt class GetQueryData (provided :: [*]) (query :: [*]) datas getQueryData :: GetQueryData provided query datas => Proxy provided -> Proxy query -> datas -> QueryData provided query datas (.:) :: (b -> c) -> (a -> a1 -> b) -> a -> a1 -> c ixed :: (FuncTrans ((:) * Ixed (Concat' * (Reverse' collectedMods ([] *)) mods)) (Concat' * (Reverse' collectedParams ([] *)) params) f c, FuncTrans ([] *) ([] *) (Query collectedMods collectedParams -> OptBuilder mods params f -> c) a) => a raw :: (FuncTrans (Concat' * (Reverse' collectedMods ([] *)) mods) ((:) * Raw (Concat' * (Reverse' collectedParams ([] *)) params)) f c, FuncTrans ([] *) ([] *) (Query collectedMods collectedParams -> OptBuilder mods params f -> c) a) => a try :: (FuncTrans (Concat' * (Reverse' collectedMods ([] *)) mods) ((:) * Try (Concat' * (Reverse' collectedParams ([] *)) params)) f c, FuncTrans ([] *) ([] *) (Query collectedMods collectedParams -> OptBuilder mods params f -> c) a) => a unchecked :: (FuncTrans (Concat' * (Reverse' collectedMods ([] *)) mods) ((:) * Unchecked (Concat' * (Reverse' collectedParams ([] *)) params)) f c, FuncTrans ([] *) ([] *) (Query collectedMods collectedParams -> OptBuilder mods params f -> c) a) => a unsafe :: (FuncTrans (Concat' * (Reverse' collectedMods ([] *)) mods) ((:) * Unsafe (Concat' * (Reverse' collectedParams ([] *)) params)) f c, FuncTrans ([] *) ([] *) (Query collectedMods collectedParams -> OptBuilder mods params f -> c) a) => a inplace :: (FuncTrans (Concat' * (Reverse' collectedMods ([] *)) mods) ((:) * Inplace (Concat' * (Reverse' collectedParams ([] *)) params)) f c, FuncTrans ([] *) ([] *) (Query collectedMods collectedParams -> OptBuilder mods params f -> c) a) => a instance GHC.Base.Functor (Data.Container.Opts.OptBuilder mods params) instance GHC.Show.Show a => GHC.Show.Show (Data.Container.Opts.OptBuilder mods params a) instance GHC.Show.Show a => GHC.Show.Show (Data.Container.Opts.Knowledge a) instance GHC.Show.Show a => GHC.Show.Show (Data.Container.Opts.Opt a) instance (mods ~ mods', params ~ params', f ~ f') => Data.Container.Opts.FuncTrans mods params f (Data.Container.Opts.OptBuilder mods' params' f') instance (f ~ (Data.Container.Opts.Query mods params -> a -> b)) => Data.Container.Opts.FuncTrans mods params f (a -> b) instance (f ~ a, g ~ b) => Data.Container.Opts.FuncBuilder (f -> g) (a -> b) instance (t ~ (f -> g), mods ~ '[], params ~ '[]) => Data.Container.Opts.FuncBuilder (f -> g) (Data.Container.Opts.OptBuilder mods params t) instance (datas ~ (a, as), Data.Container.Opts.GetOptData ps as o, Data.Container.Opts.OptData ps as o ~ Data.Container.Opts.OptData (p : ps) (a, as) o) => Data.Container.Opts.GetOptData (p : ps) datas o instance (datas ~ (a, as)) => Data.Container.Opts.GetOptData (p : ps) datas p instance (Data.Container.Opts.GetQueryData p qs datas, Data.Container.Opts.GetOptData p datas q) => Data.Container.Opts.GetQueryData p (q : qs) datas instance Data.Container.Opts.GetQueryData p '[] datas module Data.Container.Poly type Simple (t :: [*] -> [*] -> k) = t '[] '[] module Data.Container.Class data Impossible Impossible :: Impossible data ImpossibleM a ImpossibleM :: ImpossibleM a type ImpTL = '[Impossible] impossible :: t -- | Points to the real structure handling the data. Used mainly -- internally. type HasContainer = HasContainerM Identity class HasContainerM m a where viewContainerM = viewContainerM . view _Wrapped' setContainerM = _Wrapped' . setContainerM viewContainerM :: HasContainerM m a => a -> m (Container a) setContainerM :: HasContainerM m a => Container a -> a -> m a type IsContainer = IsContainerM Identity class HasContainerM m a => IsContainerM m a fromContainerM :: IsContainerM m a => Container a -> m a container :: HasContainer a => Lens' a (Container a) fromContainer :: IsContainer a => Container a -> a withContainerM :: (Monad m, HasContainerM m a) => (Container a -> m (Container a)) -> a -> m a withContainerM' :: (Monad m, HasContainerM m a) => (Container a -> Container a) -> a -> m a data Info idx el cont Info :: idx -> el -> cont -> Info idx el cont type PrimInfo = Info Unknown Unknown type ElInfo el = Info Unknown (Known el) type IdxInfo idx = Info (Known idx) Unknown type IdxElInfo idx el = Info (Known idx) (Known el) data Res datas a Res :: datas -> a -> Res datas a type Result op info mods = Res (Result_ op info mods) type PrimResult op ms a = Result op (PrimInfo a) ms type ElResult op ms el a = Result op (ElInfo el a) ms type IdxResult op ms idx a = Result op (IdxInfo idx a) ms type IdxElResult op ms idx el a = Result op (IdxElInfo idx el a) ms class Ctx ms m cont => MeasurableQM ms ps m cont sizeQM :: MeasurableQM ms ps m cont => Query ms ps -> cont -> m (PrimResult MeasurableOp ms (Container cont) Int) class Ctx ms m cont => MinBoundedQM ms ps m idx cont minBoundQM :: MinBoundedQM ms ps m idx cont => Query ms ps -> cont -> m (IdxResult MinBoundedOp ms idx (Container cont) idx) class Ctx ms m cont => MaxBoundedQM ms ps m idx cont maxBoundQM :: MaxBoundedQM ms ps m idx cont => Query ms ps -> cont -> m (IdxResult MaxBoundedOp ms idx (Container cont) idx) data MeasurableOp MeasurableOp :: MeasurableOp type MeasurableM = Simple MeasurableQM type MeasurableQ ms ps = MeasurableQM ms ps Identity type Measurable = Simple MeasurableQM Identity data MinBoundedOp MinBoundedOp :: MinBoundedOp type MinBoundedM = Simple MinBoundedQM type MinBoundedQ ms ps = MinBoundedQM ms ps Identity type MinBounded = Simple MinBoundedQM Identity data MaxBoundedOp MaxBoundedOp :: MaxBoundedOp type MaxBoundedM = Simple MaxBoundedQM type MaxBoundedQ ms ps = MaxBoundedQM ms ps Identity type MaxBounded = Simple MaxBoundedQM Identity type BoundedQM ms ps m idx cont = (MinBoundedQM ms ps m idx cont, MaxBoundedQM ms ps m idx cont) type BoundedM m idx cont = Simple MaxBoundedQM m idx cont type BoundedQ ms ps m idx cont = MaxBoundedQM ms ps Identity idx cont type Bounded idx cont = BoundedM Identity idx cont sizeM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ MeasurableOp (PrimInfo (Container cont)) ms) Int)) a, MeasurableQM ms ps m cont) => a size' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ MeasurableOp (PrimInfo (Container cont)) ms) Int) c, MeasurableQM ms ps Identity cont) => c sizeM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX (Int, Result_ MeasurableOp (PrimInfo (Container cont)) ms) b, MeasurableQM ms ps f cont) => a size :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX (Int, Result_ MeasurableOp (PrimInfo (Container cont)) ms) b, MeasurableQM ms ps Identity cont) => c minBoundM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ MinBoundedOp (IdxInfo idx (Container cont)) ms) idx)) a, MinBoundedQM ms ps m idx cont) => a minBound' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ MinBoundedOp (IdxInfo idx (Container cont)) ms) idx) c, MinBoundedQM ms ps Identity idx cont) => c minBoundM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX (t, Result_ MinBoundedOp (IdxInfo t (Container cont)) ms) b, MinBoundedQM ms ps f t cont) => a minBound :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX (t, Result_ MinBoundedOp (IdxInfo t (Container cont)) ms) b, MinBoundedQM ms ps Identity t cont) => c maxBoundM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ MaxBoundedOp (IdxInfo idx (Container cont)) ms) idx)) a, MaxBoundedQM ms ps m idx cont) => a maxBound' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ MaxBoundedOp (IdxInfo idx (Container cont)) ms) idx) c, MaxBoundedQM ms ps Identity idx cont) => c maxBoundM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX (t, Result_ MaxBoundedOp (IdxInfo t (Container cont)) ms) b, MaxBoundedQM ms ps f t cont) => a maxBound :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX (t, Result_ MaxBoundedOp (IdxInfo t (Container cont)) ms) b, MaxBoundedQM ms ps Identity t cont) => c class Ctx ms m cont => SingletonQM ms ps m el cont singletonQM :: SingletonQM ms ps m el cont => Query ms ps -> el -> m (ElResult SingletonOp ms el (Container cont) cont) class Ctx ms m cont => ExpandableQM ms ps m cont expandQM :: ExpandableQM ms ps m cont => Query ms ps -> cont -> m (PrimResult ExpandableOp ms (Container cont) cont) class Ctx ms m cont => AllocableQM ms ps m cont allocQM :: AllocableQM ms ps m cont => Query ms ps -> Int -> m (PrimResult AllocableOp ms (Container cont) cont) class Ctx ms m cont => GrowableQM ms ps m cont growQM :: GrowableQM ms ps m cont => Query ms ps -> Int -> cont -> m (PrimResult GrowableOp ms (Container cont) cont) data SingletonOp SingletonOp :: SingletonOp type SingletonM = Simple SingletonQM type SingletonQ ms ps = SingletonQM ms ps Identity type Singleton = Simple SingletonQM Identity data AllocableOp AllocableOp :: AllocableOp type AllocableM = Simple AllocableQM type AllocableQ ms ps = AllocableQM ms ps Identity type Allocable = Simple AllocableQM Identity data ExpandableOp ExpandableOp :: ExpandableOp type ExpandableM = Simple ExpandableQM type ExpandableQ ms ps = ExpandableQM ms ps Identity type Expandable = Simple ExpandableQM Identity data GrowableOp GrowableOp :: GrowableOp type GrowableM = Simple GrowableQM type GrowableQ ms ps = GrowableQM ms ps Identity type Growable = Simple GrowableQM Identity singletonM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> m (Res (Result_ SingletonOp (ElInfo el (Container cont)) ms) cont)) a, SingletonQM ms ps m el cont) => a singleton' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> Res (Result_ SingletonOp (ElInfo el (Container cont)) ms) cont) c, SingletonQM ms ps Identity el cont) => c singletonM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> f b) a, RTup2TupX (t, Result_ SingletonOp (ElInfo el (Container t)) ms) b, SingletonQM ms ps f el t) => a singleton :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> b) c, RTup2TupX (t, Result_ SingletonOp (ElInfo el (Container t)) ms) b, SingletonQM ms ps Identity el t) => c allocM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> m (Res (Result_ AllocableOp (PrimInfo (Container cont)) ms) cont)) a, AllocableQM ms ps m cont) => a alloc' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> Res (Result_ AllocableOp (PrimInfo (Container cont)) ms) cont) c, AllocableQM ms ps Identity cont) => c allocM :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> f b) a, RTup2TupX (t, Result_ AllocableOp (PrimInfo (Container t)) ms) b, AllocableQM ms ps f t) => a alloc :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> b) c, RTup2TupX (t, Result_ AllocableOp (PrimInfo (Container t)) ms) b, AllocableQM ms ps Identity t) => c expandM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ ExpandableOp (PrimInfo (Container cont)) ms) cont)) a, ExpandableQM ms ps m cont) => a expand' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ ExpandableOp (PrimInfo (Container cont)) ms) cont) c, ExpandableQM ms ps Identity cont) => c expandM :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> f b) a, RTup2TupX (t, Result_ ExpandableOp (PrimInfo (Container t)) ms) b, ExpandableQM ms ps f t) => a expand :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> b) c, RTup2TupX (t, Result_ ExpandableOp (PrimInfo (Container t)) ms) b, ExpandableQM ms ps Identity t) => c growM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> cont -> m (Res (Result_ GrowableOp (PrimInfo (Container cont)) ms) cont)) a, GrowableQM ms ps m cont) => a grow' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> cont -> Res (Result_ GrowableOp (PrimInfo (Container cont)) ms) cont) c, GrowableQM ms ps Identity cont) => c growM :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> t -> f b) a, RTup2TupX (t, Result_ GrowableOp (PrimInfo (Container t)) ms) b, GrowableQM ms ps f t) => a grow :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> t -> b) c, RTup2TupX (t, Result_ GrowableOp (PrimInfo (Container t)) ms) b, GrowableQM ms ps Identity t) => c class Ctx ms m cont => AppendableQM ms ps m el cont appendQM :: AppendableQM ms ps m el cont => Query ms ps -> el -> cont -> m (ElResult AppendableOp ms el (Container cont) cont) class Ctx ms m cont => PrependableQM ms ps m el cont prependQM :: PrependableQM ms ps m el cont => Query ms ps -> el -> cont -> m (ElResult PrependableOp ms el (Container cont) cont) class Ctx ms m cont => AddableQM ms ps m el cont addQM :: AddableQM ms ps m el cont => Query ms ps -> el -> cont -> m (ElResult AddableOp ms el (Container cont) cont) class Ctx ms m cont => RemovableQM ms ps m el cont removeQM :: RemovableQM ms ps m el cont => Query ms ps -> el -> cont -> m (ElResult RemovableOp ms el (Container cont) cont) class Ctx ms m cont => InsertableQM ms ps m idx el cont insertQM :: InsertableQM ms ps m idx el cont => Query ms ps -> idx -> el -> cont -> m (IdxElResult InsertableOp ms idx el (Container cont) cont) class Ctx ms m cont => FreeableQM ms ps m idx cont freeQM :: FreeableQM ms ps m idx cont => Query ms ps -> idx -> cont -> m (IdxResult FreeableOp ms idx (Container cont) cont) class Ctx ms m cont => ReservableQM ms ps m cont reserveQM :: ReservableQM ms ps m cont => Query ms ps -> cont -> m (PrimResult ReservableOp ms (Container cont) cont) data AppendableOp AppendableOp :: AppendableOp type AppendableM = Simple AppendableQM type AppendableQ ms ps = AppendableQM ms ps Identity type Appendable = Simple AppendableQM Identity data PrependableOp PrependableOp :: PrependableOp type PrependableM = Simple PrependableQM type PrependableQ ms ps = PrependableQM ms ps Identity type Prependable = Simple PrependableQM Identity data AddableOp AddableOp :: AddableOp type AddableM = Simple AddableQM type AddableQ ms ps = AddableQM ms ps Identity type Addable = Simple AddableQM Identity data RemovableOp RemovableOp :: RemovableOp type RemovableM = Simple RemovableQM type RemovableQ ms ps = RemovableQM ms ps Identity type Removable = Simple RemovableQM Identity data InsertableOp InsertableOp :: InsertableOp type InsertableM = Simple InsertableQM type InsertableQ ms ps = InsertableQM ms ps Identity type Insertable = Simple InsertableQM Identity data FreeableOp FreeableOp :: FreeableOp type FreeableM = Simple FreeableQM type FreeableQ ms ps = FreeableQM ms ps Identity type Freeable = Simple FreeableQM Identity data ReservableOp ReservableOp :: ReservableOp type ReservableM = Simple ReservableQM type ReservableQ ms ps = ReservableQM ms ps Identity type Reservable = Simple ReservableQM Identity appendM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ AppendableOp (ElInfo el (Container cont)) ms) cont)) a, AppendableQM ms ps m el cont) => a append' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ AppendableOp (ElInfo el (Container cont)) ms) cont) c, AppendableQM ms ps Identity el cont) => c appendM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ AppendableOp (ElInfo el (Container t)) ms) b, AppendableQM ms ps f el t) => a append :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ AppendableOp (ElInfo el (Container t)) ms) b, AppendableQM ms ps Identity el t) => c prependM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ PrependableOp (ElInfo el (Container cont)) ms) cont)) a, PrependableQM ms ps m el cont) => a prepend' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ PrependableOp (ElInfo el (Container cont)) ms) cont) c, PrependableQM ms ps Identity el cont) => c prependM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ PrependableOp (ElInfo el (Container t)) ms) b, PrependableQM ms ps f el t) => a prepend :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ PrependableOp (ElInfo el (Container t)) ms) b, PrependableQM ms ps Identity el t) => c addM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ AddableOp (ElInfo el (Container cont)) ms) cont)) a, AddableQM ms ps m el cont) => a add' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ AddableOp (ElInfo el (Container cont)) ms) cont) c, AddableQM ms ps Identity el cont) => c addM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ AddableOp (ElInfo el (Container t)) ms) b, AddableQM ms ps f el t) => a add :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ AddableOp (ElInfo el (Container t)) ms) b, AddableQM ms ps Identity el t) => c add_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> b -> b) c, AddableQM ms ps Identity el b) => c removeM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ RemovableOp (ElInfo el (Container cont)) ms) cont)) a, RemovableQM ms ps m el cont) => a remove' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ RemovableOp (ElInfo el (Container cont)) ms) cont) c, RemovableQM ms ps Identity el cont) => c removeM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ RemovableOp (ElInfo el (Container t)) ms) b, RemovableQM ms ps f el t) => a remove :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ RemovableOp (ElInfo el (Container t)) ms) b, RemovableQM ms ps Identity el t) => c insertM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> cont -> m (Res (Result_ InsertableOp (IdxElInfo idx el (Container cont)) ms) cont)) a, InsertableQM ms ps m idx el cont) => a insert' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> cont -> Res (Result_ InsertableOp (IdxElInfo idx el (Container cont)) ms) cont) c, InsertableQM ms ps Identity idx el cont) => c insertM :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> t -> f b) a, RTup2TupX (t, Result_ InsertableOp (IdxElInfo idx el (Container t)) ms) b, InsertableQM ms ps f idx el t) => a insert :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> t -> b) c, RTup2TupX (t, Result_ InsertableOp (IdxElInfo idx el (Container t)) ms) b, InsertableQM ms ps Identity idx el t) => c insert_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> b -> b) c, InsertableQM ms ps Identity idx el b) => c freeM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> m (Res (Result_ FreeableOp (IdxInfo idx (Container cont)) ms) cont)) a, FreeableQM ms ps m idx cont) => a free' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> Res (Result_ FreeableOp (IdxInfo idx (Container cont)) ms) cont) c, FreeableQM ms ps Identity idx cont) => c freeM :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> t -> f b) a, RTup2TupX (t, Result_ FreeableOp (IdxInfo idx (Container t)) ms) b, FreeableQM ms ps f idx t) => a free :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> t -> b) c, RTup2TupX (t, Result_ FreeableOp (IdxInfo idx (Container t)) ms) b, FreeableQM ms ps Identity idx t) => c free_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> b -> b) c, FreeableQM ms ps Identity idx b) => c reserveM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ ReservableOp (PrimInfo (Container cont)) ms) cont)) a, ReservableQM ms ps m cont) => a reserve' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ ReservableOp (PrimInfo (Container cont)) ms) cont) c, ReservableQM ms ps Identity cont) => c reserveM :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> f b) a, RTup2TupX (t, Result_ ReservableOp (PrimInfo (Container t)) ms) b, ReservableQM ms ps f t) => a reserve :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> b) c, RTup2TupX (t, Result_ ReservableOp (PrimInfo (Container t)) ms) b, ReservableQM ms ps Identity t) => c class Ctx ms m cont => IndexableQM ms ps m idx el cont indexQM :: IndexableQM ms ps m idx el cont => Query ms ps -> idx -> cont -> m (IdxElResult IndexableOp ms idx el (Container cont) el) class Ctx ms m cont => TracksFreeIxesQM ms ps m idx cont freeIxesQM :: TracksFreeIxesQM ms ps m idx cont => Query ms ps -> cont -> m (IdxResult TracksFreeIxesOp ms idx (Container cont) [idx]) class Ctx ms m cont => TracksUsedIxesQM ms ps m idx cont usedIxesQM :: TracksUsedIxesQM ms ps m idx cont => Query ms ps -> cont -> m (IdxResult TracksUsedIxesOp ms idx (Container cont) [idx]) class Ctx ms m cont => TracksIxesQM ms ps m idx cont ixesQM :: TracksIxesQM ms ps m idx cont => Query ms ps -> cont -> m (IdxResult TracksIxesOp ms idx (Container cont) [idx]) class Ctx2 m => TracksElemsQM ms ps m el cont elemsQM :: TracksElemsQM ms ps m el cont => Query ms ps -> cont -> m (ElResult TracksElemsOp ms el (Container cont) [el]) data IndexableOp IndexableOp :: IndexableOp type IndexableM = Simple IndexableQM type IndexableQ ms ps = IndexableQM ms ps Identity type Indexable = Simple IndexableQM Identity data TracksFreeIxesOp TracksFreeIxesOp :: TracksFreeIxesOp type TracksFreeIxesM = Simple TracksFreeIxesQM type TracksFreeIxesQ ms ps = TracksFreeIxesQM ms ps Identity type TracksFreeIxes = Simple TracksFreeIxesQM Identity data TracksUsedIxesOp TracksUsedIxesOp :: TracksUsedIxesOp type TracksUsedIxesM = Simple TracksUsedIxesQM type TracksUsedIxesQ ms ps = TracksUsedIxesQM ms ps Identity type TracksUsedIxes = Simple TracksUsedIxesQM Identity data TracksIxesOp TracksIxesOp :: TracksIxesOp type TracksIxesM = Simple TracksIxesQM type TracksIxesQ ms ps = TracksIxesQM ms ps Identity type TracksIxes = Simple TracksIxesQM Identity data TracksElemsOp TracksElemsOp :: TracksElemsOp type TracksElemsM = Simple TracksElemsQM type TracksElemsQ ms ps = TracksElemsQM ms ps Identity type TracksElems = Simple TracksElemsQM Identity indexM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> m (Res (Result_ IndexableOp (IdxElInfo idx el (Container cont)) ms) el)) a, IndexableQM ms ps m idx el cont) => a index' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> Res (Result_ IndexableOp (IdxElInfo idx el (Container cont)) ms) el) c, IndexableQM ms ps Identity idx el cont) => c indexM :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> f b) a, RTup2TupX (t, Result_ IndexableOp (IdxElInfo idx t (Container cont)) ms) b, IndexableQM ms ps f idx t cont) => a index :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> b) c, RTup2TupX (t, Result_ IndexableOp (IdxElInfo idx t (Container cont)) ms) b, IndexableQM ms ps Identity idx t cont) => c index_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> b) c, IndexableQM ms ps Identity idx b cont) => c freeIxesM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) [idx])) a, TracksFreeIxesQM ms ps m idx cont) => a freeIxes' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) [idx]) c, TracksFreeIxesQM ms ps Identity idx cont) => c freeIxesM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([idx], Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) b, TracksFreeIxesQM ms ps f idx cont) => a freeIxes :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([idx], Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) b, TracksFreeIxesQM ms ps Identity idx cont) => c usedIxesM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) [idx])) a, TracksUsedIxesQM ms ps m idx cont) => a usedIxes' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) [idx]) c, TracksUsedIxesQM ms ps Identity idx cont) => c usedIxesM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([idx], Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) b, TracksUsedIxesQM ms ps f idx cont) => a usedIxes :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([idx], Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) b, TracksUsedIxesQM ms ps Identity idx cont) => c usedIxes_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> [idx]) c, TracksUsedIxesQM ms ps Identity idx cont) => c ixesM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) [idx])) a, TracksIxesQM ms ps m idx cont) => a ixes' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) [idx]) c, TracksIxesQM ms ps Identity idx cont) => c ixesM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([idx], Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) b, TracksIxesQM ms ps f idx cont) => a ixes :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([idx], Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) b, TracksIxesQM ms ps Identity idx cont) => c elemsM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksElemsOp (ElInfo el (Container cont)) ms) [el])) a, TracksElemsQM ms ps m el cont) => a elems' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksElemsOp (ElInfo el (Container cont)) ms) [el]) c, TracksElemsQM ms ps Identity el cont) => c elemsM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([el], Result_ TracksElemsOp (ElInfo el (Container cont)) ms) b, TracksElemsQM ms ps f el cont) => a elems :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([el], Result_ TracksElemsOp (ElInfo el (Container cont)) ms) b, TracksElemsQM ms ps Identity el cont) => c elems_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> [el]) c, TracksElemsQM ms ps Identity el cont) => c class rt ~ InitRT rt' => AppendRT a rt rt' | a rt -> rt', rt' -> a appendRT :: AppendRT a rt rt' => a -> rt -> rt' resToRTup :: Res t1 t -> (t, t1) res_ :: Res t t1 -> t1 formatResult :: RTup2TupX (t, t1) b => Res t1 t -> b class rt ~ Tup2RTup t => RTup2TupX rt t | rt -> t rtup2tupX :: RTup2TupX rt t => rt -> t type Ctx ms m cont = (Monad m, PrettyCtx ms cont) type Ctx2 m = Monad m intercalate :: Monoid a => a -> [a] -> a instance Data.Foldable.Foldable (Data.Container.Class.Res datas) instance Data.Traversable.Traversable (Data.Container.Class.Res datas) instance GHC.Base.Functor (Data.Container.Class.Res datas) instance (GHC.Show.Show datas, GHC.Show.Show a) => GHC.Show.Show (Data.Container.Class.Res datas a) instance GHC.Base.Functor Data.Container.Class.ImpossibleM instance GHC.Show.Show (Data.Container.Class.ImpossibleM a) instance GHC.Show.Show Data.Container.Class.Impossible instance (Data.Container.Class.AppendRT a rt rt', Data.Container.Class.InitRT (r, rt') ~ (r, rt)) => Data.Container.Class.AppendRT a (r, rt) (r, rt') instance Data.Container.Class.AppendRT a () (a, ()) instance Data.Container.Class.RTup2TupX () () instance (Data.Container.Class.Tup2RTup t1 ~ (t1, ()), t1 ~ t1') => Data.Container.Class.RTup2TupX (t1, ()) t1' instance (t1 ~ t1', t2 ~ t2') => Data.Container.Class.RTup2TupX (t1, (t2, ())) (t1', t2') instance (t1 ~ t1', t2 ~ t2', t3 ~ t3') => Data.Container.Class.RTup2TupX (t1, (t2, (t3, ()))) (t1', t2', t3') module Data.Container.List type LazyText = Text class FromList l where fromList = fromList fromList :: FromList l => [Item l] -> l class ToList l where toList = toList toList :: ToList l => l -> [Item l] type IsList l = (FromList l, ToList l) asList :: IsList a => Iso' a [Item a] instance Data.Container.List.ToList Data.Text.Internal.Text instance Data.Container.List.FromList Data.Text.Internal.Text instance Data.Container.List.ToList Data.Container.List.LazyText instance Data.Container.List.FromList Data.Container.List.LazyText module Data.Container.Hetero newtype Ptr i a Ptr :: i -> Ptr i a newtype HPtr i m a HPtr :: (Ptr i (m a)) -> HPtr i m a class PtrFrom p i | p -> i ptrFrom :: PtrFrom p i => p -> Ptr i a class PtrIdx p i | p -> i ptrIdx :: PtrIdx p i => p -> i instance GHC.Show.Show i => GHC.Show.Show (Data.Container.Hetero.HPtr i m a) instance GHC.Show.Show i => GHC.Show.Show (Data.Container.Hetero.Ptr i a) instance Data.Container.Hetero.PtrIdx (Data.Container.Hetero.Ptr i a) i instance Data.Container.Hetero.PtrIdx (Data.Container.Hetero.HPtr i m a) i instance (p ~ i) => Data.Container.Hetero.PtrFrom p i instance Data.Container.Hetero.PtrFrom (Data.Container.Hetero.Ptr i a) i module Data.Container.Immersed class ImmersedM l m a viewImmersedM' :: ImmersedM l m a => l -> m a setImmersedM' :: ImmersedM l m a => a -> l -> m l viewImmersedM :: (ImmersedM (Container l) m a, HasContainerM m l, Monad m) => l -> m a setImmersedM :: (Monad m, HasContainerM m l, ImmersedM (Container l) m a) => a -> l -> m l withImmersedM :: (Monad m, HasContainerM m l, ImmersedM (Container l) m t, ImmersedM (Container l) m a) => (t -> m a) -> l -> m l withImmersedM' :: (Monad m, HasContainerM m l, ImmersedM (Container l) m a) => (a -> a) -> l -> m l dived :: (Layered a, HasContainer (Unlayered a)) => Lens' a (Container (Unlayered a)) withDivedM :: (Monad m, LayeredM m a, HasContainerM m (Unlayered a)) => (Container (Unlayered a) -> m (Container (Unlayered a))) -> a -> m a instance (GHC.Base.Monad m, Data.Container.Class.HasContainerM m (Data.Layer.Unlayered l), Data.Layer.LayeredM m l, Data.Container.Immersed.ImmersedM (Data.Container.Class.Container (Data.Layer.Unlayered l)) m a) => Data.Container.Immersed.ImmersedM l m a instance GHC.Base.Monad m => Data.Container.Immersed.ImmersedM l m l module Data.Container.Instances.IntSet instance Data.Container.List.ToList Data.IntSet.Base.IntSet -- | This module provides proxy utilities for Data.Container.Class. | The -- proxy classes allow for nice options-dependent instance -- implementations, | hiding at the same time the complexity needed for -- type-level constrains resolution. module Data.Container.Proxy type OpAxioms op info ms t = (ResultAxioms op info ms t, Functor (PrimResult op (GetOpts ms) t)) type ResultAxioms op info ms t = Result_ op (info t) (GetOpts ms) ~ Result_ op (info (DataStore t)) (GetOpts ms) runOp :: (Monad m, GetQueryData (GetOpts (MatchOpts (ModsOf cls cont) ms)) ms datas) => Proxy * cls -> Proxy * cont -> (OptQuery (MatchOpts (ModsOf cls cont) ms) (MatchOpts (ParamsOf cls cont) ps) -> a -> m (Res datas t)) -> (t1 -> m a) -> (t -> t1 -> m a1) -> Query ms ps -> t1 -> m (Res (QueryData * (GetOpts (MatchOpts (ModsOf cls cont) ms)) ms datas) a1) class Monad m => MeasurableQM_ ms ps m cont sizeM_ :: (MeasurableQM_ ms ps m cont, OpAxioms MeasurableOp PrimInfo ms cont) => OptQuery ms ps -> cont -> m (PrimResult MeasurableOp (GetOpts ms) cont Int) class Monad m => MinBoundedQM_ ms ps m idx cont minBoundM_ :: (MinBoundedQM_ ms ps m idx cont, OpAxioms MinBoundedOp (IdxInfo idx) ms cont) => OptQuery ms ps -> cont -> m (IdxResult MinBoundedOp (GetOpts ms) idx cont idx) class Monad m => MaxBoundedQM_ ms ps m idx cont maxBoundM_ :: (MaxBoundedQM_ ms ps m idx cont, OpAxioms MaxBoundedOp (IdxInfo idx) ms cont) => OptQuery ms ps -> cont -> m (IdxResult MaxBoundedOp (GetOpts ms) idx cont idx) class Monad m => SingletonQM_ ms ps m el cont singletonM_ :: (SingletonQM_ ms ps m el cont, OpAxioms SingletonOp (ElInfo el) ms cont) => OptQuery ms ps -> el -> m (ElResult SingletonOp (GetOpts ms) el cont cont) class Monad m => AllocableQM_ ms ps m cont allocM_ :: (AllocableQM_ ms ps m cont, OpAxioms AllocableOp PrimInfo ms cont) => OptQuery ms ps -> Int -> m (PrimResult AllocableOp (GetOpts ms) cont cont) class Monad m => ExpandableQM_ ms ps m cont expandM_ :: (ExpandableQM_ ms ps m cont, OpAxioms ExpandableOp PrimInfo ms cont) => OptQuery ms ps -> cont -> m (PrimResult ExpandableOp (GetOpts ms) cont cont) class Monad m => GrowableQM_ ms ps m cont growM_ :: (GrowableQM_ ms ps m cont, OpAxioms GrowableOp PrimInfo ms cont) => OptQuery ms ps -> Int -> cont -> m (PrimResult GrowableOp (GetOpts ms) cont cont) class Monad m => AppendableQM_ ms ps m el cont appendM_ :: (AppendableQM_ ms ps m el cont, OpAxioms AppendableOp (ElInfo el) ms cont) => OptQuery ms ps -> el -> cont -> m (ElResult AppendableOp (GetOpts ms) el cont cont) class Monad m => PrependableQM_ ms ps m el cont prependM_ :: (PrependableQM_ ms ps m el cont, OpAxioms PrependableOp (ElInfo el) ms cont) => OptQuery ms ps -> el -> cont -> m (ElResult PrependableOp (GetOpts ms) el cont cont) class Monad m => AddableQM_ ms ps m el cont addM_ :: (AddableQM_ ms ps m el cont, OpAxioms AddableOp (ElInfo el) ms cont) => OptQuery ms ps -> el -> cont -> m (ElResult AddableOp (GetOpts ms) el cont cont) class Monad m => RemovableQM_ ms ps m el cont removeM_ :: (RemovableQM_ ms ps m el cont, OpAxioms RemovableOp (ElInfo el) ms cont) => OptQuery ms ps -> el -> cont -> m (ElResult RemovableOp (GetOpts ms) el cont cont) class Monad m => InsertableQM_ ms ps m idx el cont insertM_ :: (InsertableQM_ ms ps m idx el cont, OpAxioms InsertableOp (IdxElInfo idx el) ms cont) => OptQuery ms ps -> idx -> el -> cont -> m (IdxElResult InsertableOp (GetOpts ms) idx el cont cont) class Monad m => FreeableQM_ ms ps m idx cont freeM_ :: (FreeableQM_ ms ps m idx cont, OpAxioms FreeableOp (IdxInfo idx) ms cont) => OptQuery ms ps -> idx -> cont -> m (IdxResult FreeableOp (GetOpts ms) idx cont cont) class Monad m => ReservableQM_ ms ps m cont reserveM_ :: (ReservableQM_ ms ps m cont, OpAxioms ReservableOp PrimInfo ms cont) => OptQuery ms ps -> cont -> m (PrimResult ReservableOp (GetOpts ms) cont cont) class Monad m => IndexableQM_ ms ps m idx el cont indexM_ :: (IndexableQM_ ms ps m idx el cont, OpAxioms IndexableOp (IdxElInfo idx el) ms cont) => OptQuery ms ps -> idx -> cont -> m (IdxElResult IndexableOp (GetOpts ms) idx el cont el) class Monad m => TracksFreeIxesQM_ ms ps m idx cont freeIxesM_ :: (TracksFreeIxesQM_ ms ps m idx cont, OpAxioms TracksFreeIxesOp (IdxInfo idx) ms cont) => OptQuery ms ps -> cont -> m (IdxResult TracksFreeIxesOp (GetOpts ms) idx cont [idx]) class Monad m => TracksUsedIxesQM_ ms ps m idx cont usedIxesM_ :: (TracksUsedIxesQM_ ms ps m idx cont, OpAxioms TracksUsedIxesOp (IdxInfo idx) ms cont) => OptQuery ms ps -> cont -> m (IdxResult TracksUsedIxesOp (GetOpts ms) idx cont [idx]) class Monad m => TracksIxesQM_ ms ps m idx cont ixesM_ :: (TracksIxesQM_ ms ps m idx cont, OpAxioms TracksIxesOp (IdxInfo idx) ms cont) => OptQuery ms ps -> cont -> m (IdxResult TracksIxesOp (GetOpts ms) idx cont [idx]) class Monad m => TracksElemsQM_ ms ps m el cont elemsM_ :: (TracksElemsQM_ ms ps m el cont, OpAxioms TracksElemsOp (ElInfo el) ms cont) => OptQuery ms ps -> cont -> m (ElResult TracksElemsOp (GetOpts ms) el cont [el]) instance GHC.Base.Monad m => Data.Container.Class.MeasurableQM Data.Container.Class.ImpTL ps m a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.MeasurableQM ms ps m Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.MeasurableOp, info ~ Data.Container.Class.PrimInfo, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.MeasurableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.MeasurableQM ms ps m a instance GHC.Base.Monad m => Data.Container.Class.MinBoundedQM Data.Container.Class.ImpTL ps m idx a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.MinBoundedQM ms ps m idx Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.MinBoundedOp, info ~ Data.Container.Class.IdxInfo idx, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.MinBoundedOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.MinBoundedQM ms ps m idx a instance GHC.Base.Monad m => Data.Container.Class.MaxBoundedQM Data.Container.Class.ImpTL ps m idx a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.MaxBoundedQM ms ps m idx Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.MaxBoundedOp, info ~ Data.Container.Class.IdxInfo idx, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.MaxBoundedOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.MaxBoundedQM ms ps m idx a instance GHC.Base.Monad m => Data.Container.Class.SingletonQM Data.Container.Class.ImpTL ps m el a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.SingletonQM ms ps m el Data.Container.Class.Impossible instance (Data.Container.Class.IsContainerM m a, cls ~ Data.Container.Class.SingletonOp, info ~ Data.Container.Class.ElInfo el, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.SingletonOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.SingletonQM ms ps m el a instance GHC.Base.Monad m => Data.Container.Class.AllocableQM Data.Container.Class.ImpTL ps m a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.AllocableQM ms ps m Data.Container.Class.Impossible instance (Data.Container.Class.IsContainerM m a, cls ~ Data.Container.Class.AllocableOp, info ~ Data.Container.Class.PrimInfo, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.AllocableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.AllocableQM ms ps m a instance GHC.Base.Monad m => Data.Container.Class.ExpandableQM Data.Container.Class.ImpTL ps m a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.ExpandableQM ms ps m Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.ExpandableOp, info ~ Data.Container.Class.PrimInfo, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.ExpandableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.ExpandableQM ms ps m a instance GHC.Base.Monad m => Data.Container.Class.GrowableQM Data.Container.Class.ImpTL ps m a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.GrowableQM ms ps m Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.GrowableOp, info ~ Data.Container.Class.PrimInfo, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.GrowableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.GrowableQM ms ps m a instance GHC.Base.Monad m => Data.Container.Class.AppendableQM Data.Container.Class.ImpTL ps m el a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.AppendableQM ms ps m el Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.AppendableOp, info ~ Data.Container.Class.ElInfo el, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.AppendableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.AppendableQM ms ps m el a instance GHC.Base.Monad m => Data.Container.Class.PrependableQM Data.Container.Class.ImpTL ps m el a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.PrependableQM ms ps m el Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.PrependableOp, info ~ Data.Container.Class.ElInfo el, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.PrependableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.PrependableQM ms ps m el a instance GHC.Base.Monad m => Data.Container.Class.AddableQM Data.Container.Class.ImpTL ps m el a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.AddableQM ms ps m el Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.AddableOp, info ~ Data.Container.Class.ElInfo el, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.AddableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.AddableQM ms ps m el a instance GHC.Base.Monad m => Data.Container.Class.RemovableQM Data.Container.Class.ImpTL ps m el a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.RemovableQM ms ps m el Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.RemovableOp, info ~ Data.Container.Class.ElInfo el, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.RemovableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.RemovableQM ms ps m el a instance GHC.Base.Monad m => Data.Container.Class.InsertableQM Data.Container.Class.ImpTL ps m idx el a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.InsertableQM ms ps m idx el Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.InsertableOp, info ~ Data.Container.Class.IdxElInfo idx el, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.InsertableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.InsertableQM ms ps m idx el a instance GHC.Base.Monad m => Data.Container.Class.FreeableQM Data.Container.Class.ImpTL ps m idx a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.FreeableQM ms ps m idx Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.FreeableOp, info ~ Data.Container.Class.IdxInfo idx, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.FreeableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.FreeableQM ms ps m idx a instance GHC.Base.Monad m => Data.Container.Class.ReservableQM Data.Container.Class.ImpTL ps m a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.ReservableQM ms ps m Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.ReservableOp, info ~ Data.Container.Class.PrimInfo, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.ReservableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.ReservableQM ms ps m a instance GHC.Base.Monad m => Data.Container.Class.IndexableQM Data.Container.Class.ImpTL ps m idx el a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.IndexableQM ms ps m idx el Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.IndexableOp, info ~ Data.Container.Class.IdxElInfo idx el, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.IndexableOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.IndexableQM ms ps m idx el a instance GHC.Base.Monad m => Data.Container.Class.TracksFreeIxesQM Data.Container.Class.ImpTL ps m idx a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.TracksFreeIxesQM ms ps m idx Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.TracksFreeIxesOp, info ~ Data.Container.Class.IdxInfo idx, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.TracksFreeIxesOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.TracksFreeIxesQM ms ps m idx a instance GHC.Base.Monad m => Data.Container.Class.TracksUsedIxesQM Data.Container.Class.ImpTL ps m idx a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.TracksUsedIxesQM ms ps m idx Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.TracksUsedIxesOp, info ~ Data.Container.Class.IdxInfo idx, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.TracksUsedIxesOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.TracksUsedIxesQM ms ps m idx a instance GHC.Base.Monad m => Data.Container.Class.TracksIxesQM Data.Container.Class.ImpTL ps m idx a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.TracksIxesQM ms ps m idx Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.TracksIxesOp, info ~ Data.Container.Class.IdxInfo idx, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.TracksIxesOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.TracksIxesQM ms ps m idx a instance GHC.Base.Monad m => Data.Container.Class.TracksElemsQM Data.Container.Class.ImpTL ps m el a instance (GHC.Base.Monad m, Data.Container.Class.PrettyCtx ms Data.Container.Class.Impossible) => Data.Container.Class.TracksElemsQM ms ps m el Data.Container.Class.Impossible instance (Data.Container.Class.HasContainerM m a, cls ~ Data.Container.Class.TracksElemsOp, info ~ Data.Container.Class.ElInfo el, fullInfo ~ info cont, matchMs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ModsOf cls cont) ms, matchPs ~ Data.Container.Opts.MatchOpts (Data.Container.Opts.ParamsOf cls cont) ps, provided ~ Data.Container.Class.GetOpts matchMs, opts ~ Data.Container.Class.Result_ cls fullInfo provided, cont ~ Data.Container.Class.Container a, GHC.Base.Monad m, Data.Container.Proxy.ConstrainCls Data.Container.Class.TracksElemsOp matchMs matchPs info m cont, Data.Container.Opts.QueryData provided ms opts ~ Data.Container.Class.Result_ cls fullInfo ms, Data.Container.Opts.GetQueryData provided ms opts, Data.Container.Proxy.ResultAxioms cls info matchMs cont, Data.Container.Class.PrettyCtx ms a) => Data.Container.Class.TracksElemsQM ms ps m el a module Data.Container.Resizable data Resizable style a Resizable :: !style -> !a -> Resizable style a style :: Lens' (Resizable s a) s data Minimal Minimal :: Minimal data Exponential Exponential :: Exponential data Linear Linear :: Int -> Linear class ResizeStep s t resizeStep :: ResizeStep s t => Resizable s t -> Int checkZeroSize :: (Num a, Eq a) => a -> a instance GHC.Show.Show Data.Container.Resizable.Linear instance GHC.Show.Show Data.Container.Resizable.Exponential instance GHC.Show.Show Data.Container.Resizable.Minimal instance (GHC.Base.Monoid style, GHC.Base.Monoid a) => GHC.Base.Monoid (Data.Container.Resizable.Resizable style a) instance Data.Traversable.Traversable (Data.Container.Resizable.Resizable style) instance Data.Foldable.Foldable (Data.Container.Resizable.Resizable style) instance GHC.Base.Functor (Data.Container.Resizable.Resizable style) instance (GHC.Show.Show style, GHC.Show.Show a) => GHC.Show.Show (Data.Container.Resizable.Resizable style a) instance GHC.Base.Monad m => Data.Container.Class.IsContainerM m (Data.Container.Resizable.Resizable s a) instance GHC.Base.Monad m => Data.Container.Class.HasContainerM m (Data.Container.Resizable.Resizable s a) instance Data.Layer.Layered (Data.Container.Resizable.Resizable s a) instance GHC.Base.Monad m => Data.Layer.LayeredM m (Data.Container.Resizable.Resizable s a) instance (Data.Container.Class.IsContainer a, Data.Container.List.FromList (Data.Container.Class.Container a), Data.Default.Class.Default s) => Data.Container.List.FromList (Data.Container.Resizable.Resizable s a) instance (Data.Default.Class.Default s, Data.Default.Class.Default a) => Data.Default.Class.Default (Data.Container.Resizable.Resizable s a) instance (Data.Container.List.ToList (Data.Container.Class.Container a), Data.Container.Class.HasContainer a) => Data.Container.List.ToList (Data.Container.Resizable.Resizable s a) instance Data.Default.Class.Default Data.Container.Resizable.Minimal instance Data.Default.Class.Default Data.Container.Resizable.Exponential instance Data.Default.Class.Default Data.Container.Resizable.Linear instance Data.Container.Resizable.ResizeStep Data.Container.Resizable.Minimal t instance Data.Container.Resizable.ResizeStep Data.Container.Resizable.Linear t instance Data.Container.Class.Measurable (Data.Container.Resizable.Resizable Data.Container.Resizable.Exponential t) => Data.Container.Resizable.ResizeStep Data.Container.Resizable.Exponential t instance Data.Container.Class.Measurable (Data.Container.Resizable.Resizable GHC.Types.Double t) => Data.Container.Resizable.ResizeStep GHC.Types.Double t instance Data.Container.Class.MeasurableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a => Data.Container.Proxy.MeasurableQM_ ms ps m (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.MinBoundedQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a => Data.Container.Proxy.MinBoundedQM_ ms ps m idx (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.MaxBoundedQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a => Data.Container.Proxy.MaxBoundedQM_ ms ps m idx (Data.Container.Resizable.Resizable s a) instance (Data.Container.Class.SingletonQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m el a, Data.Default.Class.Default s) => Data.Container.Proxy.SingletonQM_ ms ps m el (Data.Container.Resizable.Resizable s a) instance (Data.Container.Class.AllocableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a, Data.Default.Class.Default s) => Data.Container.Proxy.AllocableQM_ ms ps m (Data.Container.Resizable.Resizable s a) instance (Data.Container.Class.GrowableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a, Data.Container.Resizable.ResizeStep s a, Data.Container.Class.Result_ Data.Container.Class.GrowableOp (Data.Container.Class.PrimInfo (Data.Container.Class.Container a)) (Data.Container.Class.GetOpts ms) ~ Data.Container.Class.Result_ Data.Container.Class.ExpandableOp (Data.Container.Class.PrimInfo (Data.Container.Resizable.Resizable s a)) (Data.Container.Class.GetOpts ms)) => Data.Container.Proxy.ExpandableQM_ ms ps m (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.AppendableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m el a => Data.Container.Proxy.AppendableQM_ ms ps m el (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.PrependableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m el a => Data.Container.Proxy.PrependableQM_ ms ps m el (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.AddableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m el a => Data.Container.Proxy.AddableQM_ ms ps m el (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.RemovableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m el a => Data.Container.Proxy.RemovableQM_ ms ps m el (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.InsertableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx el a => Data.Container.Proxy.InsertableQM_ ms ps m idx el (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.FreeableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a => Data.Container.Proxy.FreeableQM_ ms ps m idx (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.IndexableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx el a => Data.Container.Proxy.IndexableQM_ ms ps m idx el (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.TracksIxesQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a => Data.Container.Proxy.TracksIxesQM_ ms ps m idx (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.TracksFreeIxesQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a => Data.Container.Proxy.TracksFreeIxesQM_ ms ps m idx (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.TracksUsedIxesQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a => Data.Container.Proxy.TracksUsedIxesQM_ ms ps m idx (Data.Container.Resizable.Resizable s a) instance Data.Container.Class.TracksElemsQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m el a => Data.Container.Proxy.TracksElemsQM_ ms ps m el (Data.Container.Resizable.Resizable s a) module Data.Container.Reusable data Reusable idx a Reusable :: [idx] -> !a -> Reusable idx a type Reusable' a = Reusable (Index a) a _indexes :: Lens' (Reusable idx a) [idx] instance GHC.Base.Monoid a => GHC.Base.Monoid (Data.Container.Reusable.Reusable idx a) instance Data.Traversable.Traversable (Data.Container.Reusable.Reusable idx) instance Data.Foldable.Foldable (Data.Container.Reusable.Reusable idx) instance GHC.Base.Functor (Data.Container.Reusable.Reusable idx) instance GHC.Base.Monad m => Data.Container.Class.IsContainerM m (Data.Container.Reusable.Reusable idx a) instance GHC.Base.Monad m => Data.Container.Class.HasContainerM m (Data.Container.Reusable.Reusable idx a) instance Data.Layer.Layered (Data.Container.Reusable.Reusable idx a) instance GHC.Base.Monad m => Data.Layer.LayeredM m (Data.Container.Reusable.Reusable idx a) instance (Data.Container.Class.IsContainer a, Data.Container.List.FromList (Data.Container.Class.Container a)) => Data.Container.List.FromList (Data.Container.Reusable.Reusable idx a) instance Data.Default.Class.Default a => Data.Default.Class.Default (Data.Container.Reusable.Reusable idx a) instance (Data.Container.List.ToList (Data.Container.Class.Container a), Data.Container.Class.HasContainer a) => Data.Container.List.ToList (Data.Container.Reusable.Reusable idx a) instance (GHC.Show.Show (Data.Container.Class.Item a), Data.Container.Class.TracksElems (Data.Container.Class.Item a) (Data.Container.Reusable.Reusable idx a)) => GHC.Show.Show (Data.Container.Reusable.Reusable idx a) instance Data.Container.Class.MeasurableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a => Data.Container.Proxy.MeasurableQM_ ms ps m (Data.Container.Reusable.Reusable idx a) instance (Data.Container.Class.MinBoundedQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a, idx ~ idx') => Data.Container.Proxy.MinBoundedQM_ ms ps m idx (Data.Container.Reusable.Reusable idx' a) instance (Data.Container.Class.MaxBoundedQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a, idx ~ idx') => Data.Container.Proxy.MaxBoundedQM_ ms ps m idx (Data.Container.Reusable.Reusable idx' a) instance (Data.Container.Class.SingletonQM (Data.Container.Opts.Ixed : Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m el a, idx ~ Control.Lens.At.Index (Data.Container.Class.Container a)) => Data.Container.Proxy.SingletonQM_ ms ps m el (Data.Container.Reusable.Reusable idx a) instance (Data.Container.Class.AllocableQM (Data.Container.Opts.Ixed : Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a, idx ~ Control.Lens.At.Index (Data.Container.Class.Container a)) => Data.Container.Proxy.AllocableQM_ ms ps m (Data.Container.Reusable.Reusable idx a) instance (Data.Container.Class.ExpandableQM (Data.Container.Opts.Ixed : Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a, idx ~ Control.Lens.At.Index (Data.Container.Class.Container a)) => Data.Container.Proxy.ExpandableQM_ ms ps m (Data.Container.Reusable.Reusable idx a) instance (Data.Container.Class.GrowableQM (Data.Container.Opts.Ixed : Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a, idx ~ Control.Lens.At.Index (Data.Container.Class.Container a)) => Data.Container.Proxy.GrowableQM_ ms ps m (Data.Container.Reusable.Reusable idx a) instance Data.Container.Class.AppendableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m el a => Data.Container.Proxy.AppendableQM_ ms ps m el (Data.Container.Reusable.Reusable idx a) instance Data.Container.Class.PrependableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m el a => Data.Container.Proxy.PrependableQM_ ms ps m el (Data.Container.Reusable.Reusable idx a) instance (Data.Container.Class.InsertableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx el a, Data.Container.Class.ExpandableM m (Data.Container.Reusable.Reusable idx a), Data.Container.Class.Result_ Data.Container.Class.InsertableOp (Data.Container.Class.IdxElInfo idx el (Data.Container.Class.Container a)) (Data.Container.Class.GetOpts ms) ~ Data.Container.Class.Result_ Data.Container.Class.AddableOp (Data.Container.Class.ElInfo el (Data.Container.Reusable.Reusable idx a)) (Data.Container.Class.GetOpts ms)) => Data.Container.Proxy.AddableQM_ ms ps m el (Data.Container.Reusable.Reusable idx a) instance (Data.Container.Class.InsertableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx el a, idx ~ idx') => Data.Container.Proxy.InsertableQM_ ms ('Data.Container.Opts.P Data.Container.Opts.Unchecked : 'Data.Container.Opts.P Data.Container.Opts.Inplace : ps) m idx el (Data.Container.Reusable.Reusable idx' a) instance (Data.Container.Class.FreeableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a, idx ~ idx') => Data.Container.Proxy.FreeableQM_ ms ps m idx (Data.Container.Reusable.Reusable idx' a) instance (GHC.Base.Monad m, idx ~ Control.Lens.At.Index (Data.Container.Class.Container a)) => Data.Container.Proxy.ReservableQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] ps m (Data.Container.Reusable.Reusable idx a) instance (Data.Container.Class.IndexableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx el a, idx ~ idx') => Data.Container.Proxy.IndexableQM_ ms ps m idx el (Data.Container.Reusable.Reusable idx' a) instance (Data.Container.Class.TracksIxesQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a, idx ~ idx') => Data.Container.Proxy.TracksIxesQM_ ms ps m idx (Data.Container.Reusable.Reusable idx' a) instance (GHC.Base.Monad m, idx ~ idx') => Data.Container.Proxy.TracksFreeIxesQM_ '[] ps m idx (Data.Container.Reusable.Reusable idx' a) instance (Data.Container.Class.TracksIxes idx (Data.Container.Reusable.Reusable idx a), Data.Container.Class.TracksFreeIxes idx (Data.Container.Reusable.Reusable idx a), idx ~ idx', GHC.Base.Monad m, GHC.Classes.Eq idx) => Data.Container.Proxy.TracksUsedIxesQM_ '[] ps m idx (Data.Container.Reusable.Reusable idx' a) instance (Data.Container.Class.TracksUsedIxes idx (Data.Container.Reusable.Reusable idx a), Data.Container.Class.Indexable idx el (Data.Container.Reusable.Reusable idx a), GHC.Base.Monad m) => Data.Container.Proxy.TracksElemsQM_ '[] ps m el (Data.Container.Reusable.Reusable idx a) module Data.Container.Auto newtype Auto idx style a Auto :: (Reusable idx (Resizable style a)) -> Auto idx style a type Auto' style a = Auto (Index (Container a)) style a instance (Data.Default.Class.Default style, Data.Default.Class.Default a) => Data.Default.Class.Default (Data.Container.Auto.Auto idx style a) instance (GHC.Base.Monoid style, GHC.Base.Monoid a) => GHC.Base.Monoid (Data.Container.Auto.Auto idx style a) instance Data.Foldable.Foldable (Data.Container.Auto.Auto idx style) instance Data.Traversable.Traversable (Data.Container.Auto.Auto idx style) instance GHC.Base.Functor (Data.Container.Auto.Auto idx style) instance (Data.Container.Class.IsContainer a, Data.Container.List.FromList (Data.Container.Class.Container a), Data.Default.Class.Default style) => Data.Container.List.FromList (Data.Container.Auto.Auto idx style a) instance GHC.Show.Show (Data.Container.Reusable.Reusable idx (Data.Container.Resizable.Resizable style a)) => GHC.Show.Show (Data.Container.Auto.Auto idx style a) instance GHC.Base.Monad m => Data.Container.Class.IsContainerM m (Data.Container.Auto.Auto idx style a) instance GHC.Base.Monad m => Data.Container.Class.HasContainerM m (Data.Container.Auto.Auto idx style a) instance (Data.Container.Class.HasContainer a, Data.Container.List.ToList (Data.Container.Class.Container a)) => Data.Container.List.ToList (Data.Container.Auto.Auto idx s a) instance Data.Layer.Layered (Data.Container.Auto.Auto idx style a) instance GHC.Base.Monad m => Data.Layer.LayeredM m (Data.Container.Auto.Auto idx style a) instance Control.Lens.Wrapped.Wrapped (Data.Container.Auto.Auto idx style a) module Data.Container.Instances.Vector.Lazy failT2 :: (Monad m, Cond2 opt) => Proxy (Opt *) opt -> String -> m a checkBounds2 :: MeasurableQM ([] *) ([] *) Identity t1 => Int -> t1 -> (String -> t) -> t -> t checkBoundsM2 :: (Monad m, MeasurableQM ([] *) ([] *) Identity t, Cond2 opt) => Proxy (Opt *) opt -> Int -> t -> a -> m a checkedBoundsIfM2 :: (Monad m, MeasurableQM ([] *) ([] *) Identity t, Cond2 opt, Cond2 opt1) => Proxy (Opt *) opt -> Proxy (Opt *) opt1 -> Int -> t -> a -> m a checkedIfM2 :: (Monad m, Cond2 opt) => Proxy (Opt *) opt -> (a -> m a) -> a -> m a class Cond2 (opt :: Opt *) ifT2 :: Cond2 opt => Proxy opt -> a -> a -> a instance GHC.Base.Monad m => Data.Container.Class.IsContainerM m (Data.Vector.Vector a) instance GHC.Base.Monad m => Data.Container.Class.HasContainerM m (Data.Vector.Vector a) instance Data.Container.List.ToList (Data.Vector.Vector a) instance GHC.Base.Monad m => Data.Container.Proxy.MeasurableQM_ '[] ps m (Data.Vector.Vector a) instance (GHC.Base.Monad m, idx ~ GHC.Types.Int) => Data.Container.Proxy.MinBoundedQM_ '[] ps m idx (Data.Vector.Vector a) instance (GHC.Base.Monad m, idx ~ GHC.Types.Int) => Data.Container.Proxy.MaxBoundedQM_ '[] ps m idx (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a') => Data.Container.Proxy.SingletonQM_ '['Data.Container.Opts.N] ps m a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a') => Data.Container.Proxy.SingletonQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] ps m a' (Data.Vector.Vector a) instance GHC.Base.Monad m => Data.Container.Proxy.AllocableQM_ '['Data.Container.Opts.N] ps m (Data.Vector.Vector a) instance GHC.Base.Monad m => Data.Container.Proxy.AllocableQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] ps m (Data.Vector.Vector a) instance GHC.Base.Monad m => Data.Container.Proxy.ExpandableQM_ '['Data.Container.Opts.N] ps m (Data.Vector.Vector a) instance GHC.Base.Monad m => Data.Container.Proxy.ExpandableQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] ps m (Data.Vector.Vector a) instance GHC.Base.Monad m => Data.Container.Proxy.GrowableQM_ '['Data.Container.Opts.N] ps m (Data.Vector.Vector a) instance GHC.Base.Monad m => Data.Container.Proxy.GrowableQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] ps m (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a') => Data.Container.Proxy.AppendableQM_ '['Data.Container.Opts.N] ps m a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a') => Data.Container.Proxy.AppendableQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] ps m a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a') => Data.Container.Proxy.PrependableQM_ '['Data.Container.Opts.N] ps m a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a') => Data.Container.Proxy.PrependableQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] ps m a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a') => Data.Container.Proxy.AddableQM_ '['Data.Container.Opts.N] ps m a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a') => Data.Container.Proxy.AddableQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] ps m a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, GHC.Classes.Eq a, a ~ a') => Data.Container.Proxy.RemovableQM_ '['Data.Container.Opts.N] '['Data.Container.Opts.P Data.Container.Opts.Try] m a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, GHC.Classes.Eq a, a ~ a') => Data.Container.Proxy.RemovableQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] '['Data.Container.Opts.P Data.Container.Opts.Try] m a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a', idx ~ GHC.Types.Int) => Data.Container.Proxy.InsertableQM_ '['Data.Container.Opts.N] ps m idx a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a', idx ~ GHC.Types.Int) => Data.Container.Proxy.InsertableQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] ps m idx a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, idx ~ GHC.Types.Int) => Data.Container.Proxy.FreeableQM_ '[] ps m idx (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a', idx ~ GHC.Types.Int, Data.Container.Instances.Vector.Lazy.Cond2 unchecked, Data.Container.Instances.Vector.Lazy.Cond2 try) => Data.Container.Proxy.IndexableQM_ '['Data.Container.Opts.N] '[unchecked, try] m idx a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a', idx ~ GHC.Types.Int, Data.Container.Instances.Vector.Lazy.Cond2 unchecked, Data.Container.Instances.Vector.Lazy.Cond2 try) => Data.Container.Proxy.IndexableQM_ '['Data.Container.Opts.P Data.Container.Opts.Ixed] '[unchecked, try] m idx a' (Data.Vector.Vector a) instance (GHC.Base.Monad m, idx ~ GHC.Types.Int) => Data.Container.Proxy.TracksIxesQM_ '[] ps m idx (Data.Vector.Vector a) instance (GHC.Base.Monad m, a ~ a') => Data.Container.Proxy.TracksElemsQM_ '[] ps m a' (Data.Vector.Vector a) instance Data.Default.Class.Default (Data.Vector.Vector a) instance Data.Container.Instances.Vector.Lazy.Cond2 ('Data.Container.Opts.P a) instance Data.Container.Instances.Vector.Lazy.Cond2 'Data.Container.Opts.N module Data.Container.Instances module Data.Container.Weak data Weak f a Weak :: !(Maybe f) -> !a -> Weak f a type Weak' a = Weak (IdxFinalizer (Index a)) a newtype IdxFinalizer idx IdxFinalizer :: (idx -> IO ()) -> IdxFinalizer idx class HasFinalizer a finalizer :: HasFinalizer a => Lens' a (Finalizer a) class HasFinalizerM a m f | a -> f viewFinalizerM :: HasFinalizerM a m f => a -> m (Maybe f) setFinalizerM :: HasFinalizerM a m f => Maybe f -> a -> m a type WeakItemAxiom t = Item (Container t) ~ Weak (WeakData (Item (Container t))) mkWeakPtr :: MonadIO m => k -> Maybe (IO ()) -> m (Weak k) instance (GHC.Base.Monoid f, GHC.Base.Monoid a) => GHC.Base.Monoid (Data.Container.Weak.Weak f a) instance Data.Default.Class.Default a => Data.Default.Class.Default (Data.Container.Weak.Weak f a) instance Data.Traversable.Traversable (Data.Container.Weak.Weak f) instance Data.Foldable.Foldable (Data.Container.Weak.Weak f) instance GHC.Base.Functor (Data.Container.Weak.Weak f) instance GHC.Base.Monad m => Data.Container.Class.IsContainerM m (Data.Container.Weak.Weak f a) instance GHC.Base.Monad m => Data.Container.Class.HasContainerM m (Data.Container.Weak.Weak f a) instance Data.Layer.Layered (Data.Container.Weak.Weak f a) instance (Data.Container.Weak.Finalizer (Data.Layer.Unlayered a) ~ Data.Container.Weak.Finalizer a, Data.Container.Weak.HasFinalizer (Data.Layer.Unlayered a), Data.Layer.Layered a) => Data.Container.Weak.HasFinalizer a instance Data.Container.Weak.HasFinalizer (Data.Container.Weak.Weak f a) instance GHC.Base.Monad m => Data.Container.Weak.HasFinalizerM (Data.Container.Weak.Weak f a) m f instance (GHC.Base.Monad m, Data.Container.Weak.HasFinalizerM (Data.Container.Class.Container (Data.Layer.Unlayered a)) m f, Data.Container.Class.HasContainerM m (Data.Layer.Unlayered a), Data.Layer.LayeredM m a) => Data.Container.Weak.HasFinalizerM a m f instance Control.Lens.Wrapped.Rewrapped (Data.Container.Weak.IdxFinalizer idx) (Data.Container.Weak.IdxFinalizer idx') instance Control.Lens.Wrapped.Wrapped (Data.Container.Weak.IdxFinalizer idx) instance GHC.Base.Monoid (Data.Container.Weak.IdxFinalizer idx) instance (Data.Container.Weak.WeakItemAxiom a, Data.Container.Class.IsContainer a, Data.Container.List.FromList (Data.Container.Class.Container a)) => Data.Container.List.FromList (Data.Container.Weak.Weak f a) instance Data.Container.Class.MeasurableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a => Data.Container.Proxy.MeasurableQM_ ms ps m (Data.Container.Weak.Weak f a) instance Data.Container.Class.MinBoundedQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a => Data.Container.Proxy.MinBoundedQM_ ms ps m idx (Data.Container.Weak.Weak f a) instance Data.Container.Class.MaxBoundedQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a => Data.Container.Proxy.MaxBoundedQM_ ms ps m idx (Data.Container.Weak.Weak f a) instance (Control.Monad.IO.Class.MonadIO m, Data.Container.Class.SingletonQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m (GHC.Weak.Weak el) a, Data.Container.Class.Result_ Data.Container.Class.SingletonOp (Data.Container.Class.ElInfo (GHC.Weak.Weak el) (Data.Container.Class.Container a)) (Data.Container.Class.GetOpts ms) ~ Data.Container.Class.Result_ Data.Container.Class.SingletonOp (Data.Container.Class.ElInfo el (Data.Container.Weak.Weak f a)) (Data.Container.Class.GetOpts ms)) => Data.Container.Proxy.SingletonQM_ ms ps m el (Data.Container.Weak.Weak f a) instance Data.Container.Class.AllocableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a => Data.Container.Proxy.AllocableQM_ ms ps m (Data.Container.Weak.Weak f a) instance Data.Container.Class.ExpandableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a => Data.Container.Proxy.ExpandableQM_ ms ps m (Data.Container.Weak.Weak f a) instance Data.Container.Class.GrowableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m a => Data.Container.Proxy.GrowableQM_ ms ps m (Data.Container.Weak.Weak f a) instance (Data.Container.Class.AppendableQM (Data.Container.Opts.Ixed : Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m (GHC.Weak.Weak el) a, Data.Container.Class.Result_ Data.Container.Class.AppendableOp (Data.Container.Class.ElInfo (GHC.Weak.Weak el) (Data.Container.Class.Container a)) (Data.Container.Class.GetOpts ms) ~ Data.Container.Class.Result_ Data.Container.Class.AppendableOp (Data.Container.Class.ElInfo el (Data.Container.Weak.Weak (Data.Container.Weak.IdxFinalizer idx) a)) (Data.Container.Class.GetOpts ms), idx ~ Control.Lens.At.Index (Data.Container.Class.Container a), Control.Monad.IO.Class.MonadIO m, Control.Monad.Fix.MonadFix m) => Data.Container.Proxy.AppendableQM_ ms ps m el (Data.Container.Weak.Weak (Data.Container.Weak.IdxFinalizer idx) a) instance (Data.Container.Class.PrependableQM (Data.Container.Opts.Ixed : Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m (GHC.Weak.Weak el) a, Data.Container.Class.Result_ Data.Container.Class.PrependableOp (Data.Container.Class.ElInfo (GHC.Weak.Weak el) (Data.Container.Class.Container a)) (Data.Container.Class.GetOpts ms) ~ Data.Container.Class.Result_ Data.Container.Class.PrependableOp (Data.Container.Class.ElInfo el (Data.Container.Weak.Weak (Data.Container.Weak.IdxFinalizer idx) a)) (Data.Container.Class.GetOpts ms), idx ~ Control.Lens.At.Index (Data.Container.Class.Container a), Control.Monad.IO.Class.MonadIO m, Control.Monad.Fix.MonadFix m) => Data.Container.Proxy.PrependableQM_ ms ps m el (Data.Container.Weak.Weak (Data.Container.Weak.IdxFinalizer idx) a) instance (Data.Container.Class.AddableQM (Data.Container.Opts.Ixed : Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m (GHC.Weak.Weak el) a, Data.Container.Class.Result_ Data.Container.Class.AddableOp (Data.Container.Class.ElInfo (GHC.Weak.Weak el) (Data.Container.Class.Container a)) (Data.Container.Class.GetOpts ms) ~ Data.Container.Class.Result_ Data.Container.Class.AddableOp (Data.Container.Class.ElInfo el (Data.Container.Weak.Weak (Data.Container.Weak.IdxFinalizer idx) a)) (Data.Container.Class.GetOpts ms), idx ~ Control.Lens.At.Index (Data.Container.Class.Container a), Control.Monad.IO.Class.MonadIO m, Control.Monad.Fix.MonadFix m) => Data.Container.Proxy.AddableQM_ ms ps m el (Data.Container.Weak.Weak (Data.Container.Weak.IdxFinalizer idx) a) instance (Data.Container.Class.FreeableQM (Data.Container.Class.GetOpts ms) (Data.Container.Class.GetOpts ps) m idx a, idx ~ idx') => Data.Container.Proxy.FreeableQM_ ms ps m idx (Data.Container.Weak.Weak (Data.Container.Weak.IdxFinalizer idx) a) module Data.Container