class (Index m a b) <= At m a b where
at :: a -> LensP m (Maybe b)instance atIdentity :: At (Identity a) Unit ainstance atMaybe :: At (Maybe a) Unit ainstance atSet :: (Ord v) => At (S.Set v) v Unitinstance atMap :: (Ord k) => At (M.Map k v) k vinstance atStrMap :: At (SM.StrMap v) String vclass (IndexKey m a) <= Contains m a where
contains :: a -> LensP m Booleaninstance containsSet :: (Ord k) => Contains (Set k) kclass (IndexKey m a, IndexValue m b) <= Index m a b where
ix :: a -> TraversalP m binstance indexArr :: (Eq e) => Index (e -> a) e ainstance indexMaybe :: Index (Maybe a) Unit ainstance indexIdentity :: Index (Identity a) Unit ainstance indexArray :: Index [a] Number ainstance indexSet :: (Ord a) => Index (S.Set a) a Unitinstance indexMap :: (Ord k) => Index (M.Map k v) k vinstance indexStrMap :: Index (SM.StrMap v) String vclass IndexKey m k whereclass IndexValue m v whereinstance indexKeyArr :: IndexKey (a -> b) ainstance indexKeyArray :: IndexKey [a] Numberinstance indexKeyIdentity :: IndexKey (Identity a) Unitinstance indexKeyMap :: IndexKey (M.Map k v) kinstance indexKeyMaybe :: IndexKey (Maybe a) Unitinstance indexKeySet :: IndexKey (S.Set k) kinstance indexKeyStrMap :: IndexKey (SM.StrMap v) Stringinstance indexValueArr :: IndexValue (a -> b) binstance indexValueArray :: IndexValue [a] ainstance indexValueIdentity :: IndexValue (Identity a) ainstance indexValueMap :: IndexValue (M.Map k v) vinstance indexValueMaybe :: IndexValue (Maybe a) ainstance indexValueSet :: IndexValue (S.Set k) Unitinstance indexValueStrMap :: IndexValue (SM.StrMap v) vtype LensP s a = forall f. (Functor f) => (a -> f a) -> s -> f stype TraversalP s a = forall f. (Applicative f) => (a -> f a) -> s -> f s