What is Store in scalaz
问题 I'm trying to understand Lens es in scalaz (surprisingly didn't find something similar in cats-core ) and I came across the so called Store which is a type alias: type StoreT[F[_], A, B] = IndexedStoreT[F, A, A, B] type IndexedStore[I, A, B] = IndexedStoreT[Id, I, A, B] type Store[A, B] = StoreT[Id, A, B] Where final case class IndexedStoreT[F[_], +I, A, B](run: (F[A => B], I)) The question is how to treat this type? The documentation just referes to Lens es. Can someone give an explanation