packages feed

lens 4.12.2 → 4.12.3

raw patch · 12 files changed

+1938/−1845 lines, 12 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Control.Exception.Lens: instance AsArithException ArithException
- Control.Exception.Lens: instance AsArithException SomeException
- Control.Exception.Lens: instance AsArrayException ArrayException
- Control.Exception.Lens: instance AsArrayException SomeException
- Control.Exception.Lens: instance AsAssertionFailed AssertionFailed
- Control.Exception.Lens: instance AsAssertionFailed SomeException
- Control.Exception.Lens: instance AsAsyncException AsyncException
- Control.Exception.Lens: instance AsAsyncException SomeException
- Control.Exception.Lens: instance AsBlockedIndefinitelyOnMVar BlockedIndefinitelyOnMVar
- Control.Exception.Lens: instance AsBlockedIndefinitelyOnMVar SomeException
- Control.Exception.Lens: instance AsBlockedIndefinitelyOnSTM BlockedIndefinitelyOnSTM
- Control.Exception.Lens: instance AsBlockedIndefinitelyOnSTM SomeException
- Control.Exception.Lens: instance AsDeadlock Deadlock
- Control.Exception.Lens: instance AsDeadlock SomeException
- Control.Exception.Lens: instance AsErrorCall ErrorCall
- Control.Exception.Lens: instance AsErrorCall SomeException
- Control.Exception.Lens: instance AsHandlingException HandlingException
- Control.Exception.Lens: instance AsHandlingException SomeException
- Control.Exception.Lens: instance AsIOException IOException
- Control.Exception.Lens: instance AsIOException SomeException
- Control.Exception.Lens: instance AsNestedAtomically NestedAtomically
- Control.Exception.Lens: instance AsNestedAtomically SomeException
- Control.Exception.Lens: instance AsNoMethodError NoMethodError
- Control.Exception.Lens: instance AsNoMethodError SomeException
- Control.Exception.Lens: instance AsNonTermination NonTermination
- Control.Exception.Lens: instance AsNonTermination SomeException
- Control.Exception.Lens: instance AsPatternMatchFail PatternMatchFail
- Control.Exception.Lens: instance AsPatternMatchFail SomeException
- Control.Exception.Lens: instance AsRecConError RecConError
- Control.Exception.Lens: instance AsRecConError SomeException
- Control.Exception.Lens: instance AsRecSelError RecSelError
- Control.Exception.Lens: instance AsRecSelError SomeException
- Control.Exception.Lens: instance AsRecUpdError RecUpdError
- Control.Exception.Lens: instance AsRecUpdError SomeException
- Control.Lens.At: instance (Eq a, Hashable a) => Contains (HashSet a)
- Control.Lens.At: instance (Eq k, Hashable k) => At (HashMap k a)
- Control.Lens.At: instance (Eq k, Hashable k) => At (HashSet k)
- Control.Lens.At: instance (Eq k, Hashable k) => Ixed (HashMap k a)
- Control.Lens.At: instance (Eq k, Hashable k) => Ixed (HashSet k)
- Control.Lens.At: instance (IArray UArray e, Ix i) => Ixed (UArray i e)
- Control.Lens.At: instance (a ~ a2) => Ixed (a, a2)
- Control.Lens.At: instance (a ~ a2, a ~ a3) => Ixed (a, a2, a3)
- Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4) => Ixed (a, a2, a3, a4)
- Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5) => Ixed (a, a2, a3, a4, a5)
- Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6) => Ixed (a, a2, a3, a4, a5, a6)
- Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7) => Ixed (a, a2, a3, a4, a5, a6, a7)
- Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8) => Ixed (a, a2, a3, a4, a5, a6, a7, a8)
- Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, a ~ a9) => Ixed (a, a2, a3, a4, a5, a6, a7, a8, a9)
- Control.Lens.At: instance At (IntMap a)
- Control.Lens.At: instance At (Maybe a)
- Control.Lens.At: instance At IntSet
- Control.Lens.At: instance Contains IntSet
- Control.Lens.At: instance Eq e => Ixed (e -> a)
- Control.Lens.At: instance Ix i => Ixed (Array i e)
- Control.Lens.At: instance Ixed (Identity a)
- Control.Lens.At: instance Ixed (IntMap a)
- Control.Lens.At: instance Ixed (Maybe a)
- Control.Lens.At: instance Ixed (NonEmpty a)
- Control.Lens.At: instance Ixed (Seq a)
- Control.Lens.At: instance Ixed (Tree a)
- Control.Lens.At: instance Ixed (Vector a)
- Control.Lens.At: instance Ixed ByteString
- Control.Lens.At: instance Ixed IntSet
- Control.Lens.At: instance Ixed Text
- Control.Lens.At: instance Ixed [a]
- Control.Lens.At: instance Ord a => Contains (Set a)
- Control.Lens.At: instance Ord k => At (Map k a)
- Control.Lens.At: instance Ord k => At (Set k)
- Control.Lens.At: instance Ord k => Ixed (Map k a)
- Control.Lens.At: instance Ord k => Ixed (Set k)
- Control.Lens.At: instance Prim a => Ixed (Vector a)
- Control.Lens.At: instance Storable a => Ixed (Vector a)
- Control.Lens.At: instance Unbox a => Ixed (Vector a)
- Control.Lens.Cons: instance (Prim a, Prim b) => Cons (Vector a) (Vector b) a b
- Control.Lens.Cons: instance (Prim a, Prim b) => Snoc (Vector a) (Vector b) a b
- Control.Lens.Cons: instance (Storable a, Storable b) => Cons (Vector a) (Vector b) a b
- Control.Lens.Cons: instance (Storable a, Storable b) => Snoc (Vector a) (Vector b) a b
- Control.Lens.Cons: instance (Unbox a, Unbox b) => Cons (Vector a) (Vector b) a b
- Control.Lens.Cons: instance (Unbox a, Unbox b) => Snoc (Vector a) (Vector b) a b
- Control.Lens.Cons: instance (a ~ b) => Cons (NonEmpty a) (NonEmpty b) a b
- Control.Lens.Cons: instance (a ~ b) => Snoc (NonEmpty a) (NonEmpty b) a b
- Control.Lens.Cons: instance Cons (Seq a) (Seq b) a b
- Control.Lens.Cons: instance Cons (Vector a) (Vector b) a b
- Control.Lens.Cons: instance Cons ByteString ByteString Word8 Word8
- Control.Lens.Cons: instance Cons Text Text Char Char
- Control.Lens.Cons: instance Cons [a] [b] a b
- Control.Lens.Cons: instance Snoc (Seq a) (Seq b) a b
- Control.Lens.Cons: instance Snoc (Vector a) (Vector b) a b
- Control.Lens.Cons: instance Snoc ByteString ByteString Word8 Word8
- Control.Lens.Cons: instance Snoc Text Text Char Char
- Control.Lens.Cons: instance Snoc [a] [b] a b
- Control.Lens.Each: instance (Ix i, IArray UArray a, IArray UArray b, i ~ j) => Each (UArray i a) (UArray j b) a b
- Control.Lens.Each: instance (Ix i, i ~ j) => Each (Array i a) (Array j b) a b
- Control.Lens.Each: instance (Prim a, Prim b) => Each (Vector a) (Vector b) a b
- Control.Lens.Each: instance (Storable a, Storable b) => Each (Vector a) (Vector b) a b
- Control.Lens.Each: instance (Unbox a, Unbox b) => Each (Vector a) (Vector b) a b
- Control.Lens.Each: instance (a ~ Char, b ~ Char) => Each Text Text a b
- Control.Lens.Each: instance (a ~ Word8, b ~ Word8) => Each ByteString ByteString a b
- Control.Lens.Each: instance (a ~ a', b ~ b') => Each (a, a') (b, b') a b
- Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, a ~ a9, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7, b ~ b8, b ~ b9) => Each (a, a2, a3, a4, a5, a6, a7, a8, a9) (b, b2, b3, b4, b5, b6, b7, b8, b9) a b
- Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7, b ~ b8) => Each (a, a2, a3, a4, a5, a6, a7, a8) (b, b2, b3, b4, b5, b6, b7, b8) a b
- Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7) => Each (a, a2, a3, a4, a5, a6, a7) (b, b2, b3, b4, b5, b6, b7) a b
- Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6) => Each (a, a2, a3, a4, a5, a6) (b, b2, b3, b4, b5, b6) a b
- Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, b ~ b2, b ~ b3, b ~ b4, b ~ b5) => Each (a, a2, a3, a4, a5) (b, b2, b3, b4, b5) a b
- Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, b ~ b2, b ~ b3, b ~ b4) => Each (a, a2, a3, a4) (b, b2, b3, b4) a b
- Control.Lens.Each: instance (a ~ a2, a ~ a3, b ~ b2, b ~ b3) => Each (a, a2, a3) (b, b2, b3) a b
- Control.Lens.Each: instance (c ~ d) => Each (HashMap c a) (HashMap d b) a b
- Control.Lens.Each: instance (c ~ d) => Each (Map c a) (Map d b) a b
- Control.Lens.Each: instance Each (Complex a) (Complex b) a b
- Control.Lens.Each: instance Each (Identity a) (Identity b) a b
- Control.Lens.Each: instance Each (IntMap a) (IntMap b) a b
- Control.Lens.Each: instance Each (Maybe a) (Maybe b) a b
- Control.Lens.Each: instance Each (NonEmpty a) (NonEmpty b) a b
- Control.Lens.Each: instance Each (Seq a) (Seq b) a b
- Control.Lens.Each: instance Each (Tree a) (Tree b) a b
- Control.Lens.Each: instance Each (Vector a) (Vector b) a b
- Control.Lens.Each: instance Each [a] [b] a b
- Control.Lens.Empty: instance (AsEmpty a, AsEmpty b) => AsEmpty (a, b)
- Control.Lens.Empty: instance (AsEmpty a, AsEmpty b, AsEmpty c) => AsEmpty (a, b, c)
- Control.Lens.Empty: instance (Eq a, Num a) => AsEmpty (Product a)
- Control.Lens.Empty: instance (Eq a, Num a) => AsEmpty (Sum a)
- Control.Lens.Empty: instance AsEmpty ()
- Control.Lens.Empty: instance AsEmpty (First a)
- Control.Lens.Empty: instance AsEmpty (HashMap k a)
- Control.Lens.Empty: instance AsEmpty (HashSet a)
- Control.Lens.Empty: instance AsEmpty (IntMap a)
- Control.Lens.Empty: instance AsEmpty (Last a)
- Control.Lens.Empty: instance AsEmpty (Map k a)
- Control.Lens.Empty: instance AsEmpty (Maybe a)
- Control.Lens.Empty: instance AsEmpty (Seq a)
- Control.Lens.Empty: instance AsEmpty (Set a)
- Control.Lens.Empty: instance AsEmpty (Vector a)
- Control.Lens.Empty: instance AsEmpty All
- Control.Lens.Empty: instance AsEmpty Any
- Control.Lens.Empty: instance AsEmpty ByteString
- Control.Lens.Empty: instance AsEmpty Event
- Control.Lens.Empty: instance AsEmpty IntSet
- Control.Lens.Empty: instance AsEmpty Ordering
- Control.Lens.Empty: instance AsEmpty Text
- Control.Lens.Empty: instance AsEmpty [a]
- Control.Lens.Empty: instance AsEmpty a => AsEmpty (Dual a)
- Control.Lens.Empty: instance Storable a => AsEmpty (Vector a)
- Control.Lens.Empty: instance Unbox a => AsEmpty (Vector a)
- Control.Lens.Equality: [Identical] :: Identical a b a b
- Control.Lens.Getter: [Const] :: a -> Const a b
- Control.Lens.Indexed: [Indexed] :: (i -> a -> b) -> Indexed i a b
- Control.Lens.Indexed: instance (Eq k, Hashable k) => FoldableWithIndex k (HashMap k)
- Control.Lens.Indexed: instance (Eq k, Hashable k) => FunctorWithIndex k (HashMap k)
- Control.Lens.Indexed: instance (Eq k, Hashable k) => TraversableWithIndex k (HashMap k)
- Control.Lens.Indexed: instance (FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (Either i j) (Product f g)
- Control.Lens.Indexed: instance (FoldableWithIndex i f, FoldableWithIndex j g) => FoldableWithIndex (i, j) (Compose f g)
- Control.Lens.Indexed: instance (FunctorWithIndex i f, FunctorWithIndex j g) => FunctorWithIndex (Either i j) (Product f g)
- Control.Lens.Indexed: instance (FunctorWithIndex i f, FunctorWithIndex j g) => FunctorWithIndex (i, j) (Compose f g)
- Control.Lens.Indexed: instance (TraversableWithIndex i f, TraversableWithIndex j g) => TraversableWithIndex (Either i j) (Product f g)
- Control.Lens.Indexed: instance (TraversableWithIndex i f, TraversableWithIndex j g) => TraversableWithIndex (i, j) (Compose f g)
- Control.Lens.Indexed: instance FoldableWithIndex () Identity
- Control.Lens.Indexed: instance FoldableWithIndex () Maybe
- Control.Lens.Indexed: instance FoldableWithIndex Int IntMap
- Control.Lens.Indexed: instance FoldableWithIndex Int NonEmpty
- Control.Lens.Indexed: instance FoldableWithIndex Int Seq
- Control.Lens.Indexed: instance FoldableWithIndex Int Vector
- Control.Lens.Indexed: instance FoldableWithIndex Int []
- Control.Lens.Indexed: instance FoldableWithIndex [Int] Tree
- Control.Lens.Indexed: instance FoldableWithIndex i (Level i)
- Control.Lens.Indexed: instance FoldableWithIndex i (Magma i t b)
- Control.Lens.Indexed: instance FoldableWithIndex i f => FoldableWithIndex [i] (Cofree f)
- Control.Lens.Indexed: instance FoldableWithIndex i f => FoldableWithIndex [i] (Free f)
- Control.Lens.Indexed: instance FoldableWithIndex i f => FoldableWithIndex i (Backwards f)
- Control.Lens.Indexed: instance FoldableWithIndex i f => FoldableWithIndex i (Reverse f)
- Control.Lens.Indexed: instance FoldableWithIndex i m => FoldableWithIndex i (IdentityT m)
- Control.Lens.Indexed: instance FoldableWithIndex k ((,) k)
- Control.Lens.Indexed: instance FoldableWithIndex k (Map k)
- Control.Lens.Indexed: instance FunctorWithIndex () Identity
- Control.Lens.Indexed: instance FunctorWithIndex () Maybe
- Control.Lens.Indexed: instance FunctorWithIndex Int IntMap
- Control.Lens.Indexed: instance FunctorWithIndex Int NonEmpty
- Control.Lens.Indexed: instance FunctorWithIndex Int Seq
- Control.Lens.Indexed: instance FunctorWithIndex Int Vector
- Control.Lens.Indexed: instance FunctorWithIndex Int []
- Control.Lens.Indexed: instance FunctorWithIndex [Int] Tree
- Control.Lens.Indexed: instance FunctorWithIndex i (Level i)
- Control.Lens.Indexed: instance FunctorWithIndex i (Magma i t b)
- Control.Lens.Indexed: instance FunctorWithIndex i f => FunctorWithIndex [i] (Cofree f)
- Control.Lens.Indexed: instance FunctorWithIndex i f => FunctorWithIndex [i] (Free f)
- Control.Lens.Indexed: instance FunctorWithIndex i f => FunctorWithIndex i (Backwards f)
- Control.Lens.Indexed: instance FunctorWithIndex i f => FunctorWithIndex i (Reverse f)
- Control.Lens.Indexed: instance FunctorWithIndex i m => FunctorWithIndex (e, i) (ReaderT e m)
- Control.Lens.Indexed: instance FunctorWithIndex i m => FunctorWithIndex i (IdentityT m)
- Control.Lens.Indexed: instance FunctorWithIndex i w => FunctorWithIndex (s, i) (TracedT s w)
- Control.Lens.Indexed: instance FunctorWithIndex k ((,) k)
- Control.Lens.Indexed: instance FunctorWithIndex k (Map k)
- Control.Lens.Indexed: instance FunctorWithIndex r ((->) r)
- Control.Lens.Indexed: instance Ix i => FoldableWithIndex i (Array i)
- Control.Lens.Indexed: instance Ix i => FunctorWithIndex i (Array i)
- Control.Lens.Indexed: instance Ix i => TraversableWithIndex i (Array i)
- Control.Lens.Indexed: instance TraversableWithIndex () Identity
- Control.Lens.Indexed: instance TraversableWithIndex () Maybe
- Control.Lens.Indexed: instance TraversableWithIndex Int IntMap
- Control.Lens.Indexed: instance TraversableWithIndex Int NonEmpty
- Control.Lens.Indexed: instance TraversableWithIndex Int Seq
- Control.Lens.Indexed: instance TraversableWithIndex Int Vector
- Control.Lens.Indexed: instance TraversableWithIndex Int []
- Control.Lens.Indexed: instance TraversableWithIndex [Int] Tree
- Control.Lens.Indexed: instance TraversableWithIndex i (Level i)
- Control.Lens.Indexed: instance TraversableWithIndex i (Magma i t b)
- Control.Lens.Indexed: instance TraversableWithIndex i f => TraversableWithIndex [i] (Cofree f)
- Control.Lens.Indexed: instance TraversableWithIndex i f => TraversableWithIndex [i] (Free f)
- Control.Lens.Indexed: instance TraversableWithIndex i f => TraversableWithIndex i (Backwards f)
- Control.Lens.Indexed: instance TraversableWithIndex i f => TraversableWithIndex i (Reverse f)
- Control.Lens.Indexed: instance TraversableWithIndex i m => TraversableWithIndex i (IdentityT m)
- Control.Lens.Indexed: instance TraversableWithIndex k ((,) k)
- Control.Lens.Indexed: instance TraversableWithIndex k (Map k)
- Control.Lens.Internal.Bazaar: [Bazaar1] :: (forall f. Apply f => p a (f b) -> f t) -> Bazaar1 p a b t
- Control.Lens.Internal.Bazaar: [BazaarT1] :: (forall f. Apply f => p a (f b) -> f t) -> BazaarT1 p a b t
- Control.Lens.Internal.Bazaar: [BazaarT] :: (forall f. Applicative f => p a (f b) -> f t) -> BazaarT p a b t
- Control.Lens.Internal.Bazaar: [Bazaar] :: (forall f. Applicative f => p a (f b) -> f t) -> Bazaar p a b t
- Control.Lens.Internal.Bazaar: instance (Profunctor p, Contravariant g) => Contravariant (BazaarT p g a b)
- Control.Lens.Internal.Bazaar: instance (Profunctor p, Contravariant g) => Contravariant (BazaarT1 p g a b)
- Control.Lens.Internal.Bazaar: instance (a ~ b, Conjoined p) => Comonad (Bazaar p a b)
- Control.Lens.Internal.Bazaar: instance (a ~ b, Conjoined p) => Comonad (Bazaar1 p a b)
- Control.Lens.Internal.Bazaar: instance (a ~ b, Conjoined p) => Comonad (BazaarT p g a b)
- Control.Lens.Internal.Bazaar: instance (a ~ b, Conjoined p) => Comonad (BazaarT1 p g a b)
- Control.Lens.Internal.Bazaar: instance (a ~ b, Conjoined p) => ComonadApply (Bazaar p a b)
- Control.Lens.Internal.Bazaar: instance (a ~ b, Conjoined p) => ComonadApply (Bazaar1 p a b)
- Control.Lens.Internal.Bazaar: instance (a ~ b, Conjoined p) => ComonadApply (BazaarT p g a b)
- Control.Lens.Internal.Bazaar: instance (a ~ b, Conjoined p) => ComonadApply (BazaarT1 p g a b)
- Control.Lens.Internal.Bazaar: instance Applicative (Bazaar p a b)
- Control.Lens.Internal.Bazaar: instance Applicative (BazaarT p g a b)
- Control.Lens.Internal.Bazaar: instance Apply (Bazaar p a b)
- Control.Lens.Internal.Bazaar: instance Apply (Bazaar1 p a b)
- Control.Lens.Internal.Bazaar: instance Apply (BazaarT p g a b)
- Control.Lens.Internal.Bazaar: instance Apply (BazaarT1 p g a b)
- Control.Lens.Internal.Bazaar: instance Conjoined p => IndexedComonad (Bazaar p)
- Control.Lens.Internal.Bazaar: instance Conjoined p => IndexedComonad (Bazaar1 p)
- Control.Lens.Internal.Bazaar: instance Conjoined p => IndexedComonad (BazaarT p g)
- Control.Lens.Internal.Bazaar: instance Conjoined p => IndexedComonad (BazaarT1 p g)
- Control.Lens.Internal.Bazaar: instance Contravariant g => Monoid (BazaarT p g a b t)
- Control.Lens.Internal.Bazaar: instance Contravariant g => Semigroup (BazaarT p g a b t)
- Control.Lens.Internal.Bazaar: instance Contravariant g => Semigroup (BazaarT1 p g a b t)
- Control.Lens.Internal.Bazaar: instance Corepresentable p => Sellable p (Bazaar p)
- Control.Lens.Internal.Bazaar: instance Corepresentable p => Sellable p (Bazaar1 p)
- Control.Lens.Internal.Bazaar: instance Corepresentable p => Sellable p (BazaarT p g)
- Control.Lens.Internal.Bazaar: instance Corepresentable p => Sellable p (BazaarT1 p g)
- Control.Lens.Internal.Bazaar: instance Functor (Bazaar p a b)
- Control.Lens.Internal.Bazaar: instance Functor (Bazaar1 p a b)
- Control.Lens.Internal.Bazaar: instance Functor (BazaarT p g a b)
- Control.Lens.Internal.Bazaar: instance Functor (BazaarT1 p g a b)
- Control.Lens.Internal.Bazaar: instance IndexedFunctor (Bazaar p)
- Control.Lens.Internal.Bazaar: instance IndexedFunctor (Bazaar1 p)
- Control.Lens.Internal.Bazaar: instance IndexedFunctor (BazaarT p g)
- Control.Lens.Internal.Bazaar: instance IndexedFunctor (BazaarT1 p g)
- Control.Lens.Internal.Bazaar: instance Profunctor p => Bizarre p (Bazaar p)
- Control.Lens.Internal.Bazaar: instance Profunctor p => Bizarre p (BazaarT p g)
- Control.Lens.Internal.Bazaar: instance Profunctor p => Bizarre1 p (Bazaar1 p)
- Control.Lens.Internal.Bazaar: instance Profunctor p => Bizarre1 p (BazaarT1 p g)
- Control.Lens.Internal.Context: [Context] :: (b -> t) -> a -> Context a b t
- Control.Lens.Internal.Context: [PretextT] :: (forall f. Functor f => p a (f b) -> f t) -> PretextT p a b t
- Control.Lens.Internal.Context: [Pretext] :: (forall f. Functor f => p a (f b) -> f t) -> Pretext p a b t
- Control.Lens.Internal.Context: instance (Profunctor p, Contravariant g) => Contravariant (PretextT p g a b)
- Control.Lens.Internal.Context: instance (a ~ b) => Comonad (Context a b)
- Control.Lens.Internal.Context: instance (a ~ b) => ComonadStore a (Context a b)
- Control.Lens.Internal.Context: instance (a ~ b, Conjoined p) => Comonad (Pretext p a b)
- Control.Lens.Internal.Context: instance (a ~ b, Conjoined p) => Comonad (PretextT p g a b)
- Control.Lens.Internal.Context: instance (a ~ b, Conjoined p) => ComonadStore a (Pretext p a b)
- Control.Lens.Internal.Context: instance (a ~ b, Conjoined p) => ComonadStore a (PretextT p g a b)
- Control.Lens.Internal.Context: instance Conjoined p => IndexedComonad (Pretext p)
- Control.Lens.Internal.Context: instance Conjoined p => IndexedComonad (PretextT p g)
- Control.Lens.Internal.Context: instance Conjoined p => IndexedComonadStore (Pretext p)
- Control.Lens.Internal.Context: instance Conjoined p => IndexedComonadStore (PretextT p g)
- Control.Lens.Internal.Context: instance Corepresentable p => Sellable p (Pretext p)
- Control.Lens.Internal.Context: instance Corepresentable p => Sellable p (PretextT p g)
- Control.Lens.Internal.Context: instance Functor (Context a b)
- Control.Lens.Internal.Context: instance Functor (Pretext p a b)
- Control.Lens.Internal.Context: instance Functor (PretextT p g a b)
- Control.Lens.Internal.Context: instance IndexedComonad Context
- Control.Lens.Internal.Context: instance IndexedComonadStore Context
- Control.Lens.Internal.Context: instance IndexedFunctor (Pretext p)
- Control.Lens.Internal.Context: instance IndexedFunctor (PretextT p g)
- Control.Lens.Internal.Context: instance IndexedFunctor Context
- Control.Lens.Internal.Context: instance Sellable (->) Context
- Control.Lens.Internal.Deque: [BD] :: !Int -> [a] -> !Int -> [a] -> Deque a
- Control.Lens.Internal.Deque: instance Alt Deque
- Control.Lens.Internal.Deque: instance Alternative Deque
- Control.Lens.Internal.Deque: instance Applicative Deque
- Control.Lens.Internal.Deque: instance Apply Deque
- Control.Lens.Internal.Deque: instance Bind Deque
- Control.Lens.Internal.Deque: instance Cons (Deque a) (Deque b) a b
- Control.Lens.Internal.Deque: instance Eq a => Eq (Deque a)
- Control.Lens.Internal.Deque: instance Foldable Deque
- Control.Lens.Internal.Deque: instance FoldableWithIndex Int Deque
- Control.Lens.Internal.Deque: instance Functor Deque
- Control.Lens.Internal.Deque: instance FunctorWithIndex Int Deque
- Control.Lens.Internal.Deque: instance Monad Deque
- Control.Lens.Internal.Deque: instance MonadPlus Deque
- Control.Lens.Internal.Deque: instance Monoid (Deque a)
- Control.Lens.Internal.Deque: instance Ord a => Ord (Deque a)
- Control.Lens.Internal.Deque: instance Plus Deque
- Control.Lens.Internal.Deque: instance Reversing (Deque a)
- Control.Lens.Internal.Deque: instance Semigroup (Deque a)
- Control.Lens.Internal.Deque: instance Show a => Show (Deque a)
- Control.Lens.Internal.Deque: instance Snoc (Deque a) (Deque b) a b
- Control.Lens.Internal.Deque: instance Traversable Deque
- Control.Lens.Internal.Deque: instance TraversableWithIndex Int Deque
- Control.Lens.Internal.Exception: [HandlingException] :: HandlingException
- Control.Lens.Internal.Exception: instance Exception HandlingException
- Control.Lens.Internal.Exception: instance Handleable SomeException IO Handler
- Control.Lens.Internal.Exception: instance Show HandlingException
- Control.Lens.Internal.Exception: instance Typeable m => Handleable SomeException m (Handler m)
- Control.Lens.Internal.Exception: instance forall (k :: BOX) a (s :: k) (m :: * -> *). (Reifies s (SomeException -> Maybe a), Typeable (Handling a s m)) => Exception (Handling a s m)
- Control.Lens.Internal.Exception: instance forall (k :: BOX) a (s :: k) (m :: * -> *). Show (Handling a s m)
- Control.Lens.Internal.FieldTH: [LensRules] :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> (Name -> [Name] -> Name -> [DefName]) -> (Name -> Maybe (Name, Name)) -> LensRules
- Control.Lens.Internal.FieldTH: [MethodName] :: Name -> Name -> DefName
- Control.Lens.Internal.FieldTH: [TopName] :: Name -> DefName
- Control.Lens.Internal.FieldTH: instance Eq DefName
- Control.Lens.Internal.FieldTH: instance Ord DefName
- Control.Lens.Internal.FieldTH: instance Show DefName
- Control.Lens.Internal.Fold: [Folding] :: f a -> Folding f a
- Control.Lens.Internal.Fold: [LLeaf] :: a -> Leftmost a
- Control.Lens.Internal.Fold: [LPure] :: Leftmost a
- Control.Lens.Internal.Fold: [LStep] :: (Leftmost a) -> Leftmost a
- Control.Lens.Internal.Fold: [M] :: a -> M a s
- Control.Lens.Internal.Fold: [Max] :: a -> Max a
- Control.Lens.Internal.Fold: [Min] :: a -> Min a
- Control.Lens.Internal.Fold: [NoMax] :: Max a
- Control.Lens.Internal.Fold: [NoMin] :: Min a
- Control.Lens.Internal.Fold: [RLeaf] :: a -> Rightmost a
- Control.Lens.Internal.Fold: [RPure] :: Rightmost a
- Control.Lens.Internal.Fold: [RStep] :: (Rightmost a) -> Rightmost a
- Control.Lens.Internal.Fold: [ReifiedMonoid] :: (a -> a -> a) -> a -> ReifiedMonoid a
- Control.Lens.Internal.Fold: [Sequenced] :: m a -> Sequenced a m
- Control.Lens.Internal.Fold: [Traversed] :: f a -> Traversed a f
- Control.Lens.Internal.Fold: instance (Contravariant f, Applicative f) => Monoid (Folding f a)
- Control.Lens.Internal.Fold: instance (Contravariant f, Apply f) => Semigroup (Folding f a)
- Control.Lens.Internal.Fold: instance Applicative f => Monoid (Traversed a f)
- Control.Lens.Internal.Fold: instance Apply f => Semigroup (Traversed a f)
- Control.Lens.Internal.Fold: instance Apply m => Semigroup (Sequenced a m)
- Control.Lens.Internal.Fold: instance Monad m => Monoid (Sequenced a m)
- Control.Lens.Internal.Fold: instance Monoid (Leftmost a)
- Control.Lens.Internal.Fold: instance Monoid (Rightmost a)
- Control.Lens.Internal.Fold: instance Ord a => Monoid (Max a)
- Control.Lens.Internal.Fold: instance Ord a => Monoid (Min a)
- Control.Lens.Internal.Fold: instance Ord a => Semigroup (Max a)
- Control.Lens.Internal.Fold: instance Ord a => Semigroup (Min a)
- Control.Lens.Internal.Fold: instance Reifies s (ReifiedMonoid a) => Monoid (M a s)
- Control.Lens.Internal.Fold: instance Semigroup (Leftmost a)
- Control.Lens.Internal.Fold: instance Semigroup (Rightmost a)
- Control.Lens.Internal.Getter: [AlongsideLeft] :: f (a, b) -> AlongsideLeft f b a
- Control.Lens.Internal.Getter: [AlongsideRight] :: f (a, b) -> AlongsideRight f a b
- Control.Lens.Internal.Getter: instance Contravariant f => Contravariant (AlongsideLeft f b)
- Control.Lens.Internal.Getter: instance Contravariant f => Contravariant (AlongsideRight f a)
- Control.Lens.Internal.Getter: instance Foldable f => Bifoldable (AlongsideLeft f)
- Control.Lens.Internal.Getter: instance Foldable f => Bifoldable (AlongsideRight f)
- Control.Lens.Internal.Getter: instance Foldable f => Foldable (AlongsideLeft f b)
- Control.Lens.Internal.Getter: instance Foldable f => Foldable (AlongsideRight f a)
- Control.Lens.Internal.Getter: instance Foldable1 f => Foldable1 (AlongsideLeft f b)
- Control.Lens.Internal.Getter: instance Foldable1 f => Foldable1 (AlongsideRight f a)
- Control.Lens.Internal.Getter: instance Functor f => Bifunctor (AlongsideLeft f)
- Control.Lens.Internal.Getter: instance Functor f => Bifunctor (AlongsideRight f)
- Control.Lens.Internal.Getter: instance Functor f => Functor (AlongsideLeft f b)
- Control.Lens.Internal.Getter: instance Functor f => Functor (AlongsideRight f a)
- Control.Lens.Internal.Getter: instance Read (f (a, b)) => Read (AlongsideLeft f b a)
- Control.Lens.Internal.Getter: instance Read (f (a, b)) => Read (AlongsideRight f a b)
- Control.Lens.Internal.Getter: instance Show (f (a, b)) => Show (AlongsideLeft f b a)
- Control.Lens.Internal.Getter: instance Show (f (a, b)) => Show (AlongsideRight f a b)
- Control.Lens.Internal.Getter: instance Traversable f => Bitraversable (AlongsideLeft f)
- Control.Lens.Internal.Getter: instance Traversable f => Bitraversable (AlongsideRight f)
- Control.Lens.Internal.Getter: instance Traversable f => Traversable (AlongsideLeft f b)
- Control.Lens.Internal.Getter: instance Traversable f => Traversable (AlongsideRight f a)
- Control.Lens.Internal.Getter: instance Traversable1 f => Traversable1 (AlongsideLeft f b)
- Control.Lens.Internal.Getter: instance Traversable1 f => Traversable1 (AlongsideRight f a)
- Control.Lens.Internal.Indexed: [Indexed] :: (i -> a -> b) -> Indexed i a b
- Control.Lens.Internal.Indexed: [Indexing64] :: (Int64 -> (Int64, f a)) -> Indexing64 f a
- Control.Lens.Internal.Indexed: [Indexing] :: (Int -> (Int, f a)) -> Indexing f a
- Control.Lens.Internal.Indexed: instance (i ~ j) => Indexable i (Indexed j)
- Control.Lens.Internal.Indexed: instance Applicative (Indexed i a)
- Control.Lens.Internal.Indexed: instance Applicative f => Applicative (Indexing f)
- Control.Lens.Internal.Indexed: instance Applicative f => Applicative (Indexing64 f)
- Control.Lens.Internal.Indexed: instance Apply (Indexed i a)
- Control.Lens.Internal.Indexed: instance Apply f => Apply (Indexing f)
- Control.Lens.Internal.Indexed: instance Apply f => Apply (Indexing64 f)
- Control.Lens.Internal.Indexed: instance Arrow (Indexed i)
- Control.Lens.Internal.Indexed: instance ArrowApply (Indexed i)
- Control.Lens.Internal.Indexed: instance ArrowChoice (Indexed i)
- Control.Lens.Internal.Indexed: instance ArrowLoop (Indexed i)
- Control.Lens.Internal.Indexed: instance Bind (Indexed i a)
- Control.Lens.Internal.Indexed: instance Category (Indexed i)
- Control.Lens.Internal.Indexed: instance Choice (Indexed i)
- Control.Lens.Internal.Indexed: instance Conjoined (->)
- Control.Lens.Internal.Indexed: instance Conjoined (Indexed i)
- Control.Lens.Internal.Indexed: instance Contravariant f => Contravariant (Indexing f)
- Control.Lens.Internal.Indexed: instance Contravariant f => Contravariant (Indexing64 f)
- Control.Lens.Internal.Indexed: instance Corepresentable (Indexed i)
- Control.Lens.Internal.Indexed: instance Cosieve (Indexed i) ((,) i)
- Control.Lens.Internal.Indexed: instance Costrong (Indexed i)
- Control.Lens.Internal.Indexed: instance Functor (Indexed i a)
- Control.Lens.Internal.Indexed: instance Functor f => Functor (Indexing f)
- Control.Lens.Internal.Indexed: instance Functor f => Functor (Indexing64 f)
- Control.Lens.Internal.Indexed: instance Indexable i (->)
- Control.Lens.Internal.Indexed: instance Monad (Indexed i a)
- Control.Lens.Internal.Indexed: instance MonadFix (Indexed i a)
- Control.Lens.Internal.Indexed: instance Profunctor (Indexed i)
- Control.Lens.Internal.Indexed: instance Representable (Indexed i)
- Control.Lens.Internal.Indexed: instance Sieve (Indexed i) ((->) i)
- Control.Lens.Internal.Indexed: instance Strong (Indexed i)
- Control.Lens.Internal.Iso: [Exchange] :: (s -> a) -> (b -> t) -> Exchange a b s t
- Control.Lens.Internal.Iso: instance Functor (Exchange a b s)
- Control.Lens.Internal.Iso: instance Prim a => Reversing (Vector a)
- Control.Lens.Internal.Iso: instance Profunctor (Exchange a b)
- Control.Lens.Internal.Iso: instance Reversing (Seq a)
- Control.Lens.Internal.Iso: instance Reversing (Vector a)
- Control.Lens.Internal.Iso: instance Reversing ByteString
- Control.Lens.Internal.Iso: instance Reversing Text
- Control.Lens.Internal.Iso: instance Reversing [a]
- Control.Lens.Internal.Iso: instance Storable a => Reversing (Vector a)
- Control.Lens.Internal.Iso: instance Unbox a => Reversing (Vector a)
- Control.Lens.Internal.Level: [Deepening] :: (forall r. Int -> (Level i a -> Bool -> r) -> r) -> Deepening i a
- Control.Lens.Internal.Level: [Flows] :: ([Level i b] -> a) -> Flows i b a
- Control.Lens.Internal.Level: [One] :: i -> a -> Level i a
- Control.Lens.Internal.Level: [Two] :: {-# UNPACK #-} !Word -> !(Level i a) -> !(Level i a) -> Level i a
- Control.Lens.Internal.Level: [Zero] :: Level i a
- Control.Lens.Internal.Level: instance (Eq i, Eq a) => Eq (Level i a)
- Control.Lens.Internal.Level: instance (Ord i, Ord a) => Ord (Level i a)
- Control.Lens.Internal.Level: instance (Read i, Read a) => Read (Level i a)
- Control.Lens.Internal.Level: instance (Show i, Show a) => Show (Level i a)
- Control.Lens.Internal.Level: instance Applicative (Flows i b)
- Control.Lens.Internal.Level: instance Apply (Flows i b)
- Control.Lens.Internal.Level: instance Foldable (Level i)
- Control.Lens.Internal.Level: instance Functor (Flows i b)
- Control.Lens.Internal.Level: instance Functor (Level i)
- Control.Lens.Internal.Level: instance Monoid (Deepening i a)
- Control.Lens.Internal.Level: instance Semigroup (Deepening i a)
- Control.Lens.Internal.Level: instance Traversable (Level i)
- Control.Lens.Internal.Magma: [Mafic] :: Int -> (Int -> Magma Int t b a) -> Mafic a b t
- Control.Lens.Internal.Magma: [MagmaAp] :: Magma i (x -> y) b a -> Magma i x b a -> Magma i y b a
- Control.Lens.Internal.Magma: [MagmaFmap] :: (x -> y) -> Magma i x b a -> Magma i y b a
- Control.Lens.Internal.Magma: [MagmaPure] :: x -> Magma i x b a
- Control.Lens.Internal.Magma: [Magma] :: i -> a -> Magma i b b a
- Control.Lens.Internal.Magma: [Molten] :: Magma i t b a -> Molten i a b t
- Control.Lens.Internal.Magma: [TakingWhile] :: Bool -> t -> (Bool -> Magma () t b (Corep p a)) -> TakingWhile p a b t
- Control.Lens.Internal.Magma: instance (Show i, Show a) => Show (Magma i t b a)
- Control.Lens.Internal.Magma: instance (a ~ b) => Comonad (Molten i a b)
- Control.Lens.Internal.Magma: instance Applicative (Mafic a b)
- Control.Lens.Internal.Magma: instance Applicative (Molten i a b)
- Control.Lens.Internal.Magma: instance Applicative (TakingWhile p f a b)
- Control.Lens.Internal.Magma: instance Apply (Mafic a b)
- Control.Lens.Internal.Magma: instance Apply (Molten i a b)
- Control.Lens.Internal.Magma: instance Apply (TakingWhile p f a b)
- Control.Lens.Internal.Magma: instance Bizarre (Indexed Int) Mafic
- Control.Lens.Internal.Magma: instance Bizarre (Indexed i) (Molten i)
- Control.Lens.Internal.Magma: instance Contravariant f => Contravariant (TakingWhile p f a b)
- Control.Lens.Internal.Magma: instance Corepresentable p => Bizarre p (TakingWhile p g)
- Control.Lens.Internal.Magma: instance Foldable (Magma i t b)
- Control.Lens.Internal.Magma: instance Functor (Mafic a b)
- Control.Lens.Internal.Magma: instance Functor (Magma i t b)
- Control.Lens.Internal.Magma: instance Functor (Molten i a b)
- Control.Lens.Internal.Magma: instance Functor (TakingWhile p f a b)
- Control.Lens.Internal.Magma: instance IndexedComonad (Molten i)
- Control.Lens.Internal.Magma: instance IndexedFunctor (Molten i)
- Control.Lens.Internal.Magma: instance IndexedFunctor (TakingWhile p f)
- Control.Lens.Internal.Magma: instance IndexedFunctor Mafic
- Control.Lens.Internal.Magma: instance Sellable (->) Mafic
- Control.Lens.Internal.Magma: instance Sellable (Indexed i) (Molten i)
- Control.Lens.Internal.Magma: instance Traversable (Magma i t b)
- Control.Lens.Internal.Prism: [Market] :: (b -> t) -> (s -> Either t a) -> Market a b s t
- Control.Lens.Internal.Prism: instance Choice (Market a b)
- Control.Lens.Internal.Prism: instance Functor (Market a b s)
- Control.Lens.Internal.Prism: instance Profunctor (Market a b)
- Control.Lens.Internal.PrismTH: instance Eq NCon
- Control.Lens.Internal.PrismTH: instance HasTypeVars NCon
- Control.Lens.Internal.Review: instance (Profunctor p, Bifunctor p) => Reviewable p
- Control.Lens.Internal.Setter: instance (Settable f, Settable g) => Settable (Compose f g)
- Control.Lens.Internal.Setter: instance Settable Identity
- Control.Lens.Internal.Setter: instance Settable f => Settable (Backwards f)
- Control.Lens.Internal.Zoom: [EffectRWS] :: (st -> m (s, st, w)) -> EffectRWS w st m s a
- Control.Lens.Internal.Zoom: [Effect] :: m r -> Effect m r a
- Control.Lens.Internal.Zoom: [Err] :: Either e a -> Err e a
- Control.Lens.Internal.Zoom: [FocusingErr] :: k (Err e s) a -> FocusingErr e k s a
- Control.Lens.Internal.Zoom: [FocusingMay] :: k (May s) a -> FocusingMay k s a
- Control.Lens.Internal.Zoom: [FocusingOn] :: k (f s) a -> FocusingOn f k s a
- Control.Lens.Internal.Zoom: [FocusingPlus] :: k (s, w) a -> FocusingPlus w k s a
- Control.Lens.Internal.Zoom: [FocusingWith] :: m (s, a, w) -> FocusingWith w m s a
- Control.Lens.Internal.Zoom: [Focusing] :: m (s, a) -> Focusing m s a
- Control.Lens.Internal.Zoom: [May] :: Maybe a -> May a
- Control.Lens.Internal.Zoom: instance [safe] (Apply m, Semigroup r) => Apply (Effect m r)
- Control.Lens.Internal.Zoom: instance [safe] (Apply m, Semigroup r) => Semigroup (Effect m r a)
- Control.Lens.Internal.Zoom: instance [safe] (Monad m, Monoid r) => Applicative (Effect m r)
- Control.Lens.Internal.Zoom: instance [safe] (Monad m, Monoid r) => Monoid (Effect m r a)
- Control.Lens.Internal.Zoom: instance [safe] (Monad m, Monoid s) => Applicative (Focusing m s)
- Control.Lens.Internal.Zoom: instance [safe] (Monad m, Monoid s, Monoid w) => Applicative (FocusingWith w m s)
- Control.Lens.Internal.Zoom: instance [safe] (Monad m, Semigroup s) => Apply (Focusing m s)
- Control.Lens.Internal.Zoom: instance [safe] (Monad m, Semigroup s, Semigroup w) => Apply (FocusingWith w m s)
- Control.Lens.Internal.Zoom: instance [safe] (Monoid s, Monoid w, Monad m) => Applicative (EffectRWS w st m s)
- Control.Lens.Internal.Zoom: instance [safe] (Semigroup s, Semigroup w, Bind m) => Apply (EffectRWS w st m s)
- Control.Lens.Internal.Zoom: instance [safe] Applicative (k (Err e s)) => Applicative (FocusingErr e k s)
- Control.Lens.Internal.Zoom: instance [safe] Applicative (k (May s)) => Applicative (FocusingMay k s)
- Control.Lens.Internal.Zoom: instance [safe] Applicative (k (f s)) => Applicative (FocusingOn f k s)
- Control.Lens.Internal.Zoom: instance [safe] Applicative (k (s, w)) => Applicative (FocusingPlus w k s)
- Control.Lens.Internal.Zoom: instance [safe] Apply (k (Err e s)) => Apply (FocusingErr e k s)
- Control.Lens.Internal.Zoom: instance [safe] Apply (k (May s)) => Apply (FocusingMay k s)
- Control.Lens.Internal.Zoom: instance [safe] Apply (k (f s)) => Apply (FocusingOn f k s)
- Control.Lens.Internal.Zoom: instance [safe] Apply (k (s, w)) => Apply (FocusingPlus w k s)
- Control.Lens.Internal.Zoom: instance [safe] Contravariant (Effect m r)
- Control.Lens.Internal.Zoom: instance [safe] Contravariant (EffectRWS w st m s)
- Control.Lens.Internal.Zoom: instance [safe] Functor (Effect m r)
- Control.Lens.Internal.Zoom: instance [safe] Functor (EffectRWS w st m s)
- Control.Lens.Internal.Zoom: instance [safe] Functor (k (Err e s)) => Functor (FocusingErr e k s)
- Control.Lens.Internal.Zoom: instance [safe] Functor (k (May s)) => Functor (FocusingMay k s)
- Control.Lens.Internal.Zoom: instance [safe] Functor (k (f s)) => Functor (FocusingOn f k s)
- Control.Lens.Internal.Zoom: instance [safe] Functor (k (s, w)) => Functor (FocusingPlus w k s)
- Control.Lens.Internal.Zoom: instance [safe] Monad m => Functor (Focusing m s)
- Control.Lens.Internal.Zoom: instance [safe] Monad m => Functor (FocusingWith w m s)
- Control.Lens.Internal.Zoom: instance [safe] Monoid a => Monoid (Err e a)
- Control.Lens.Internal.Zoom: instance [safe] Monoid a => Monoid (May a)
- Control.Lens.Internal.Zoom: instance [safe] Semigroup a => Semigroup (Err e a)
- Control.Lens.Internal.Zoom: instance [safe] Semigroup a => Semigroup (May a)
- Control.Lens.Iso: instance Strict (RWST r w s m a) (RWST r w s m a)
- Control.Lens.Iso: instance Strict (StateT s m a) (StateT s m a)
- Control.Lens.Iso: instance Strict (WriterT w m a) (WriterT w m a)
- Control.Lens.Iso: instance Strict ByteString ByteString
- Control.Lens.Iso: instance Strict Text Text
- Control.Lens.Iso: instance Swapped (,)
- Control.Lens.Iso: instance Swapped Either
- Control.Lens.Lens: [Context] :: (b -> t) -> a -> Context a b t
- Control.Lens.Plated: instance (GPlated a f, GPlated a g) => GPlated a (f :*: g)
- Control.Lens.Plated: instance (GPlated a f, GPlated a g) => GPlated a (f :+: g)
- Control.Lens.Plated: instance (Traversable f, Traversable m) => Plated (FreeT f m a)
- Control.Lens.Plated: instance (Traversable f, Traversable w) => Plated (CofreeT f w a)
- Control.Lens.Plated: instance GPlated a (K1 i b)
- Control.Lens.Plated: instance GPlated a U1
- Control.Lens.Plated: instance GPlated a V1
- Control.Lens.Plated: instance GPlated a f => GPlated a (M1 i c f)
- Control.Lens.Plated: instance Plated (Tree a)
- Control.Lens.Plated: instance Plated Con
- Control.Lens.Plated: instance Plated Dec
- Control.Lens.Plated: instance Plated Exp
- Control.Lens.Plated: instance Plated Pat
- Control.Lens.Plated: instance Plated Stmt
- Control.Lens.Plated: instance Plated Type
- Control.Lens.Plated: instance Plated [a]
- Control.Lens.Plated: instance Traversable f => Plated (Cofree f a)
- Control.Lens.Plated: instance Traversable f => Plated (F f a)
- Control.Lens.Plated: instance Traversable f => Plated (Free f a)
- Control.Lens.Plated: instance [overlapping] GPlated a (K1 i a)
- Control.Lens.Reified: [Fold] :: Fold s a -> ReifiedFold s a
- Control.Lens.Reified: [Getter] :: Getter s a -> ReifiedGetter s a
- Control.Lens.Reified: [IndexedFold] :: IndexedFold i s a -> ReifiedIndexedFold i s a
- Control.Lens.Reified: [IndexedGetter] :: IndexedGetter i s a -> ReifiedIndexedGetter i s a
- Control.Lens.Reified: [IndexedLens] :: IndexedLens i s t a b -> ReifiedIndexedLens i s t a b
- Control.Lens.Reified: [IndexedSetter] :: IndexedSetter i s t a b -> ReifiedIndexedSetter i s t a b
- Control.Lens.Reified: [IndexedTraversal] :: IndexedTraversal i s t a b -> ReifiedIndexedTraversal i s t a b
- Control.Lens.Reified: [Iso] :: Iso s t a b -> ReifiedIso s t a b
- Control.Lens.Reified: [Lens] :: Lens s t a b -> ReifiedLens s t a b
- Control.Lens.Reified: [Prism] :: Prism s t a b -> ReifiedPrism s t a b
- Control.Lens.Reified: [Setter] :: Setter s t a b -> ReifiedSetter s t a b
- Control.Lens.Reified: [Traversal] :: Traversal s t a b -> ReifiedTraversal s t a b
- Control.Lens.Reified: instance Alt (ReifiedFold s)
- Control.Lens.Reified: instance Alt (ReifiedIndexedFold i s)
- Control.Lens.Reified: instance Alternative (ReifiedFold s)
- Control.Lens.Reified: instance Applicative (ReifiedFold s)
- Control.Lens.Reified: instance Applicative (ReifiedGetter s)
- Control.Lens.Reified: instance Apply (ReifiedFold s)
- Control.Lens.Reified: instance Apply (ReifiedGetter s)
- Control.Lens.Reified: instance Arrow ReifiedFold
- Control.Lens.Reified: instance Arrow ReifiedGetter
- Control.Lens.Reified: instance ArrowApply ReifiedFold
- Control.Lens.Reified: instance ArrowApply ReifiedGetter
- Control.Lens.Reified: instance ArrowChoice ReifiedFold
- Control.Lens.Reified: instance ArrowChoice ReifiedGetter
- Control.Lens.Reified: instance ArrowLoop ReifiedGetter
- Control.Lens.Reified: instance Bind (ReifiedFold s)
- Control.Lens.Reified: instance Bind (ReifiedGetter s)
- Control.Lens.Reified: instance Category ReifiedFold
- Control.Lens.Reified: instance Category ReifiedGetter
- Control.Lens.Reified: instance Choice ReifiedFold
- Control.Lens.Reified: instance Choice ReifiedGetter
- Control.Lens.Reified: instance Conjoined ReifiedGetter
- Control.Lens.Reified: instance Corepresentable ReifiedGetter
- Control.Lens.Reified: instance Cosieve ReifiedGetter Identity
- Control.Lens.Reified: instance Costrong ReifiedGetter
- Control.Lens.Reified: instance Distributive (ReifiedGetter s)
- Control.Lens.Reified: instance Functor (ReifiedFold s)
- Control.Lens.Reified: instance Functor (ReifiedGetter s)
- Control.Lens.Reified: instance Functor (ReifiedIndexedFold i s)
- Control.Lens.Reified: instance Functor (ReifiedIndexedGetter i s)
- Control.Lens.Reified: instance Monad (ReifiedFold s)
- Control.Lens.Reified: instance Monad (ReifiedGetter s)
- Control.Lens.Reified: instance MonadPlus (ReifiedFold s)
- Control.Lens.Reified: instance MonadReader s (ReifiedFold s)
- Control.Lens.Reified: instance MonadReader s (ReifiedGetter s)
- Control.Lens.Reified: instance Monoid (ReifiedFold s a)
- Control.Lens.Reified: instance Monoid (ReifiedIndexedFold i s a)
- Control.Lens.Reified: instance Monoid s => Comonad (ReifiedGetter s)
- Control.Lens.Reified: instance Monoid s => ComonadApply (ReifiedGetter s)
- Control.Lens.Reified: instance Plus (ReifiedFold s)
- Control.Lens.Reified: instance Plus (ReifiedIndexedFold i s)
- Control.Lens.Reified: instance Profunctor (ReifiedIndexedFold i)
- Control.Lens.Reified: instance Profunctor (ReifiedIndexedGetter i)
- Control.Lens.Reified: instance Profunctor ReifiedFold
- Control.Lens.Reified: instance Profunctor ReifiedGetter
- Control.Lens.Reified: instance Representable (ReifiedIndexedFold i)
- Control.Lens.Reified: instance Representable (ReifiedIndexedGetter i)
- Control.Lens.Reified: instance Representable ReifiedFold
- Control.Lens.Reified: instance Representable ReifiedGetter
- Control.Lens.Reified: instance Semigroup (ReifiedFold s a)
- Control.Lens.Reified: instance Semigroup (ReifiedIndexedFold i s a)
- Control.Lens.Reified: instance Semigroup i => Apply (ReifiedIndexedGetter i s)
- Control.Lens.Reified: instance Semigroup s => Extend (ReifiedGetter s)
- Control.Lens.Reified: instance Sieve (ReifiedIndexedFold i) (Compose [] ((,) i))
- Control.Lens.Reified: instance Sieve (ReifiedIndexedGetter i) ((,) i)
- Control.Lens.Reified: instance Sieve ReifiedFold []
- Control.Lens.Reified: instance Sieve ReifiedGetter Identity
- Control.Lens.Reified: instance Strong (ReifiedIndexedFold i)
- Control.Lens.Reified: instance Strong (ReifiedIndexedGetter i)
- Control.Lens.Reified: instance Strong ReifiedFold
- Control.Lens.Reified: instance Strong ReifiedGetter
- Control.Lens.Setter: [Identity] :: a -> Identity a
- Control.Lens.TH: [MethodName] :: Name -> Name -> DefName
- Control.Lens.TH: [TopName] :: Name -> DefName
- Control.Lens.Traversal: [Bazaar1] :: (forall f. Apply f => p a (f b) -> f t) -> Bazaar1 p a b t
- Control.Lens.Traversal: [Bazaar] :: (forall f. Applicative f => p a (f b) -> f t) -> Bazaar p a b t
- Control.Lens.Traversal: instance Ord k => TraverseMax k (Map k)
- Control.Lens.Traversal: instance Ord k => TraverseMin k (Map k)
- Control.Lens.Traversal: instance TraverseMax Int IntMap
- Control.Lens.Traversal: instance TraverseMin Int IntMap
- Control.Lens.Tuple: instance (GT (GSize s) n ~ F, n' ~ Subtract (GSize s) n, GIxed n' s' t' a b) => GIxed' F n s s' s t' a b
- Control.Lens.Tuple: instance (GT (GSize s) n ~ T, GT (GSize t) n ~ T, GIxed n s t a b) => GIxed' T n s s' t s' a b
- Control.Lens.Tuple: instance (p ~ GT (GSize s) n, p ~ GT (GSize t) n, GIxed' p n s s' t t' a b) => GIxed n (s :*: s') (t :*: t') a b
- Control.Lens.Tuple: instance Field1 ((:*:) f g p) ((:*:) f' g p) (f p) (f' p)
- Control.Lens.Tuple: instance Field1 (Identity a) (Identity b) a b
- Control.Lens.Tuple: instance Field1 (Product f g a) (Product f' g a) (f a) (f' a)
- Control.Lens.Tuple: instance Field1 (a, b) (a', b) a a'
- Control.Lens.Tuple: instance Field1 (a, b, c) (a', b, c) a a'
- Control.Lens.Tuple: instance Field1 (a, b, c, d) (a', b, c, d) a a'
- Control.Lens.Tuple: instance Field1 (a, b, c, d, e) (a', b, c, d, e) a a'
- Control.Lens.Tuple: instance Field1 (a, b, c, d, e, f) (a', b, c, d, e, f) a a'
- Control.Lens.Tuple: instance Field1 (a, b, c, d, e, f, g) (a', b, c, d, e, f, g) a a'
- Control.Lens.Tuple: instance Field1 (a, b, c, d, e, f, g, h) (a', b, c, d, e, f, g, h) a a'
- Control.Lens.Tuple: instance Field1 (a, b, c, d, e, f, g, h, i) (a', b, c, d, e, f, g, h, i) a a'
- Control.Lens.Tuple: instance Field2 ((:*:) f g p) ((:*:) f g' p) (g p) (g' p)
- Control.Lens.Tuple: instance Field2 (Product f g a) (Product f g' a) (g a) (g' a)
- Control.Lens.Tuple: instance Field2 (a, b) (a, b') b b'
- Control.Lens.Tuple: instance Field2 (a, b, c) (a, b', c) b b'
- Control.Lens.Tuple: instance Field2 (a, b, c, d) (a, b', c, d) b b'
- Control.Lens.Tuple: instance Field2 (a, b, c, d, e) (a, b', c, d, e) b b'
- Control.Lens.Tuple: instance Field2 (a, b, c, d, e, f) (a, b', c, d, e, f) b b'
- Control.Lens.Tuple: instance Field2 (a, b, c, d, e, f, g) (a, b', c, d, e, f, g) b b'
- Control.Lens.Tuple: instance Field2 (a, b, c, d, e, f, g, h) (a, b', c, d, e, f, g, h) b b'
- Control.Lens.Tuple: instance Field2 (a, b, c, d, e, f, g, h, i) (a, b', c, d, e, f, g, h, i) b b'
- Control.Lens.Tuple: instance Field3 (a, b, c) (a, b, c') c c'
- Control.Lens.Tuple: instance Field3 (a, b, c, d) (a, b, c', d) c c'
- Control.Lens.Tuple: instance Field3 (a, b, c, d, e) (a, b, c', d, e) c c'
- Control.Lens.Tuple: instance Field3 (a, b, c, d, e, f) (a, b, c', d, e, f) c c'
- Control.Lens.Tuple: instance Field3 (a, b, c, d, e, f, g) (a, b, c', d, e, f, g) c c'
- Control.Lens.Tuple: instance Field3 (a, b, c, d, e, f, g, h) (a, b, c', d, e, f, g, h) c c'
- Control.Lens.Tuple: instance Field3 (a, b, c, d, e, f, g, h, i) (a, b, c', d, e, f, g, h, i) c c'
- Control.Lens.Tuple: instance Field4 (a, b, c, d) (a, b, c, d') d d'
- Control.Lens.Tuple: instance Field4 (a, b, c, d, e) (a, b, c, d', e) d d'
- Control.Lens.Tuple: instance Field4 (a, b, c, d, e, f) (a, b, c, d', e, f) d d'
- Control.Lens.Tuple: instance Field4 (a, b, c, d, e, f, g) (a, b, c, d', e, f, g) d d'
- Control.Lens.Tuple: instance Field4 (a, b, c, d, e, f, g, h) (a, b, c, d', e, f, g, h) d d'
- Control.Lens.Tuple: instance Field4 (a, b, c, d, e, f, g, h, i) (a, b, c, d', e, f, g, h, i) d d'
- Control.Lens.Tuple: instance Field5 (a, b, c, d, e) (a, b, c, d, e') e e'
- Control.Lens.Tuple: instance Field5 (a, b, c, d, e, f) (a, b, c, d, e', f) e e'
- Control.Lens.Tuple: instance Field5 (a, b, c, d, e, f, g) (a, b, c, d, e', f, g) e e'
- Control.Lens.Tuple: instance Field5 (a, b, c, d, e, f, g, h) (a, b, c, d, e', f, g, h) e e'
- Control.Lens.Tuple: instance Field5 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e', f, g, h, i) e e'
- Control.Lens.Tuple: instance Field6 (a, b, c, d, e, f) (a, b, c, d, e, f') f f'
- Control.Lens.Tuple: instance Field6 (a, b, c, d, e, f, g) (a, b, c, d, e, f', g) f f'
- Control.Lens.Tuple: instance Field6 (a, b, c, d, e, f, g, h) (a, b, c, d, e, f', g, h) f f'
- Control.Lens.Tuple: instance Field6 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f', g, h, i) f f'
- Control.Lens.Tuple: instance Field7 (a, b, c, d, e, f, g) (a, b, c, d, e, f, g') g g'
- Control.Lens.Tuple: instance Field7 (a, b, c, d, e, f, g, h) (a, b, c, d, e, f, g', h) g g'
- Control.Lens.Tuple: instance Field7 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f, g', h, i) g g'
- Control.Lens.Tuple: instance Field8 (a, b, c, d, e, f, g, h) (a, b, c, d, e, f, g, h') h h'
- Control.Lens.Tuple: instance Field8 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f, g, h', i) h h'
- Control.Lens.Tuple: instance Field9 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f, g, h, i') i i'
- Control.Lens.Tuple: instance GIxed N0 (K1 i a) (K1 i b) a b
- Control.Lens.Tuple: instance GIxed n s t a b => GIxed n (M1 i c s) (M1 i c t) a b
- Control.Lens.Wrapped: instance (Hashable a, Eq a) => Wrapped (HashSet a)
- Control.Lens.Wrapped: instance (Hashable k, Eq k) => Wrapped (HashMap k a)
- Control.Lens.Wrapped: instance (Prim a, t ~ Vector a') => Rewrapped (Vector a) t
- Control.Lens.Wrapped: instance (Rewrapped s t, Rewrapped t s) => Rewrapping s t
- Control.Lens.Wrapped: instance (Storable a, t ~ Vector a') => Rewrapped (Vector a) t
- Control.Lens.Wrapped: instance (Unbox a, t ~ Vector a') => Rewrapped (Vector a) t
- Control.Lens.Wrapped: instance (t ~ All) => Rewrapped All t
- Control.Lens.Wrapped: instance (t ~ Any) => Rewrapped Any t
- Control.Lens.Wrapped: instance (t ~ ArrowMonad m' a', ArrowApply m) => Rewrapped (ArrowMonad m a) t
- Control.Lens.Wrapped: instance (t ~ AssertionFailed) => Rewrapped AssertionFailed t
- Control.Lens.Wrapped: instance (t ~ Backwards g b) => Rewrapped (Backwards f a) t
- Control.Lens.Wrapped: instance (t ~ Comparison b) => Rewrapped (Comparison a) t
- Control.Lens.Wrapped: instance (t ~ Compose f' g' a') => Rewrapped (Compose f g a) t
- Control.Lens.Wrapped: instance (t ~ ComposeCF f' g' a') => Rewrapped (ComposeCF f g a) t
- Control.Lens.Wrapped: instance (t ~ ComposeFC f' g' a') => Rewrapped (ComposeFC f g a) t
- Control.Lens.Wrapped: instance (t ~ Const a' x') => Rewrapped (Const a x) t
- Control.Lens.Wrapped: instance (t ~ Constant a' b') => Rewrapped (Constant a b) t
- Control.Lens.Wrapped: instance (t ~ ContT r' m' a') => Rewrapped (ContT r m a) t
- Control.Lens.Wrapped: instance (t ~ Coproduct f' g' a') => Rewrapped (Coproduct f g a) t
- Control.Lens.Wrapped: instance (t ~ Dual b) => Rewrapped (Dual a) t
- Control.Lens.Wrapped: instance (t ~ Endo b) => Rewrapped (Endo b) t
- Control.Lens.Wrapped: instance (t ~ Equivalence b) => Rewrapped (Equivalence a) t
- Control.Lens.Wrapped: instance (t ~ ErrorCall) => Rewrapped ErrorCall t
- Control.Lens.Wrapped: instance (t ~ ErrorT e' m' a') => Rewrapped (ErrorT e m a) t
- Control.Lens.Wrapped: instance (t ~ First b) => Rewrapped (First a) t
- Control.Lens.Wrapped: instance (t ~ HashMap k' a', Hashable k, Eq k) => Rewrapped (HashMap k a) t
- Control.Lens.Wrapped: instance (t ~ HashSet a', Hashable a, Eq a) => Rewrapped (HashSet a) t
- Control.Lens.Wrapped: instance (t ~ Identity b) => Rewrapped (Identity a) t
- Control.Lens.Wrapped: instance (t ~ IdentityT n b) => Rewrapped (IdentityT m a) t
- Control.Lens.Wrapped: instance (t ~ IntMap a') => Rewrapped (IntMap a) t
- Control.Lens.Wrapped: instance (t ~ IntSet) => Rewrapped IntSet t
- Control.Lens.Wrapped: instance (t ~ Kleisli m' a' b') => Rewrapped (Kleisli m a b) t
- Control.Lens.Wrapped: instance (t ~ Last b) => Rewrapped (Last a) t
- Control.Lens.Wrapped: instance (t ~ ListT n b) => Rewrapped (ListT m a) t
- Control.Lens.Wrapped: instance (t ~ Map k' a', Ord k) => Rewrapped (Map k a) t
- Control.Lens.Wrapped: instance (t ~ Max b) => Rewrapped (Max a) t
- Control.Lens.Wrapped: instance (t ~ MaybeT n b) => Rewrapped (MaybeT m a) t
- Control.Lens.Wrapped: instance (t ~ Min b) => Rewrapped (Min a) t
- Control.Lens.Wrapped: instance (t ~ NoMethodError) => Rewrapped NoMethodError t
- Control.Lens.Wrapped: instance (t ~ NonEmpty b) => Rewrapped (NonEmpty a) t
- Control.Lens.Wrapped: instance (t ~ Op a' b') => Rewrapped (Op a b) t
- Control.Lens.Wrapped: instance (t ~ Option b) => Rewrapped (Option a) t
- Control.Lens.Wrapped: instance (t ~ PatternMatchFail) => Rewrapped PatternMatchFail t
- Control.Lens.Wrapped: instance (t ~ Predicate b) => Rewrapped (Predicate a) t
- Control.Lens.Wrapped: instance (t ~ Product b) => Rewrapped (Product a) t
- Control.Lens.Wrapped: instance (t ~ RWST r' w' s' m' a') => Rewrapped (RWST r w s m a) t
- Control.Lens.Wrapped: instance (t ~ ReaderT r n b) => Rewrapped (ReaderT r m a) t
- Control.Lens.Wrapped: instance (t ~ RecConError) => Rewrapped RecConError t
- Control.Lens.Wrapped: instance (t ~ RecSelError) => Rewrapped RecSelError t
- Control.Lens.Wrapped: instance (t ~ RecUpdError) => Rewrapped RecUpdError t
- Control.Lens.Wrapped: instance (t ~ Reverse g b) => Rewrapped (Reverse f a) t
- Control.Lens.Wrapped: instance (t ~ Seq a') => Rewrapped (Seq a) t
- Control.Lens.Wrapped: instance (t ~ Set a', Ord a) => Rewrapped (Set a) t
- Control.Lens.Wrapped: instance (t ~ StateT s' m' a') => Rewrapped (StateT s m a) t
- Control.Lens.Wrapped: instance (t ~ Sum b) => Rewrapped (Sum a) t
- Control.Lens.Wrapped: instance (t ~ TracedT m' w' a') => Rewrapped (TracedT m w a) t
- Control.Lens.Wrapped: instance (t ~ Vector a') => Rewrapped (Vector a) t
- Control.Lens.Wrapped: instance (t ~ WrappedArrow a' b' c') => Rewrapped (WrappedArrow a b c) t
- Control.Lens.Wrapped: instance (t ~ WrappedMonad m' a') => Rewrapped (WrappedMonad m a) t
- Control.Lens.Wrapped: instance (t ~ WrappedMonoid b) => Rewrapped (WrappedMonoid a) t
- Control.Lens.Wrapped: instance (t ~ WriterT w' m' a') => Rewrapped (WriterT w m a) t
- Control.Lens.Wrapped: instance (t ~ ZipList b) => Rewrapped (ZipList a) t
- Control.Lens.Wrapped: instance Ord a => Wrapped (Set a)
- Control.Lens.Wrapped: instance Ord k => Wrapped (Map k a)
- Control.Lens.Wrapped: instance Prim a => Wrapped (Vector a)
- Control.Lens.Wrapped: instance Storable a => Wrapped (Vector a)
- Control.Lens.Wrapped: instance Unbox a => Wrapped (Vector a)
- Control.Lens.Wrapped: instance Wrapped (ArrowMonad m a)
- Control.Lens.Wrapped: instance Wrapped (Backwards f a)
- Control.Lens.Wrapped: instance Wrapped (Comparison a)
- Control.Lens.Wrapped: instance Wrapped (Compose f g a)
- Control.Lens.Wrapped: instance Wrapped (ComposeCF f g a)
- Control.Lens.Wrapped: instance Wrapped (ComposeFC f g a)
- Control.Lens.Wrapped: instance Wrapped (Const a x)
- Control.Lens.Wrapped: instance Wrapped (Constant a b)
- Control.Lens.Wrapped: instance Wrapped (ContT r m a)
- Control.Lens.Wrapped: instance Wrapped (Coproduct f g a)
- Control.Lens.Wrapped: instance Wrapped (Dual a)
- Control.Lens.Wrapped: instance Wrapped (Endo a)
- Control.Lens.Wrapped: instance Wrapped (Equivalence a)
- Control.Lens.Wrapped: instance Wrapped (ErrorT e m a)
- Control.Lens.Wrapped: instance Wrapped (First a)
- Control.Lens.Wrapped: instance Wrapped (Identity a)
- Control.Lens.Wrapped: instance Wrapped (IdentityT m a)
- Control.Lens.Wrapped: instance Wrapped (IntMap a)
- Control.Lens.Wrapped: instance Wrapped (Kleisli m a b)
- Control.Lens.Wrapped: instance Wrapped (Last a)
- Control.Lens.Wrapped: instance Wrapped (ListT m a)
- Control.Lens.Wrapped: instance Wrapped (Max a)
- Control.Lens.Wrapped: instance Wrapped (MaybeT m a)
- Control.Lens.Wrapped: instance Wrapped (Min a)
- Control.Lens.Wrapped: instance Wrapped (NonEmpty a)
- Control.Lens.Wrapped: instance Wrapped (Op a b)
- Control.Lens.Wrapped: instance Wrapped (Option a)
- Control.Lens.Wrapped: instance Wrapped (Predicate a)
- Control.Lens.Wrapped: instance Wrapped (Product a)
- Control.Lens.Wrapped: instance Wrapped (RWST r w s m a)
- Control.Lens.Wrapped: instance Wrapped (ReaderT r m a)
- Control.Lens.Wrapped: instance Wrapped (Reverse f a)
- Control.Lens.Wrapped: instance Wrapped (Seq a)
- Control.Lens.Wrapped: instance Wrapped (StateT s m a)
- Control.Lens.Wrapped: instance Wrapped (Sum a)
- Control.Lens.Wrapped: instance Wrapped (TracedT m w a)
- Control.Lens.Wrapped: instance Wrapped (Vector a)
- Control.Lens.Wrapped: instance Wrapped (WrappedArrow a b c)
- Control.Lens.Wrapped: instance Wrapped (WrappedMonad m a)
- Control.Lens.Wrapped: instance Wrapped (WrappedMonoid a)
- Control.Lens.Wrapped: instance Wrapped (WriterT w m a)
- Control.Lens.Wrapped: instance Wrapped (ZipList a)
- Control.Lens.Wrapped: instance Wrapped All
- Control.Lens.Wrapped: instance Wrapped Any
- Control.Lens.Wrapped: instance Wrapped AssertionFailed
- Control.Lens.Wrapped: instance Wrapped ErrorCall
- Control.Lens.Wrapped: instance Wrapped IntSet
- Control.Lens.Wrapped: instance Wrapped NoMethodError
- Control.Lens.Wrapped: instance Wrapped PatternMatchFail
- Control.Lens.Wrapped: instance Wrapped RecConError
- Control.Lens.Wrapped: instance Wrapped RecSelError
- Control.Lens.Wrapped: instance Wrapped RecUpdError
- Control.Lens.Wrapped: instance forall (k :: BOX) (f :: k -> *) (a :: k). Wrapped (Alt f a)
- Control.Lens.Wrapped: instance forall (k :: BOX) (k1 :: BOX) (f :: k1 -> *) (a :: k1) t (g :: k -> *) (b :: k). (t ~ Alt g b) => Rewrapped (Alt f a) t
- Control.Lens.Wrapped: instance forall (k :: BOX) (k1 :: BOX) (s :: k1) a t (s' :: k) a'. (t ~ Tagged s' a') => Rewrapped (Tagged s a) t
- Control.Lens.Wrapped: instance forall (k :: BOX) (s :: k) a. Wrapped (Tagged s a)
- Control.Lens.Zoom: instance (Error e, Zoom m n s t) => Zoom (ErrorT e m) (ErrorT e n) s t
- Control.Lens.Zoom: instance (Monad m, Monoid w) => Magnify (RWST b w s m) (RWST a w s m) b a
- Control.Lens.Zoom: instance (Monoid w, Monad z) => Zoom (RWST r w s z) (RWST r w t z) s t
- Control.Lens.Zoom: instance (Monoid w, Zoom m n s t) => Zoom (WriterT w m) (WriterT w n) s t
- Control.Lens.Zoom: instance Magnify ((->) b) ((->) a) b a
- Control.Lens.Zoom: instance Magnify m n b a => Magnify (IdentityT m) (IdentityT n) b a
- Control.Lens.Zoom: instance Monad m => Magnify (ReaderT b m) (ReaderT a m) b a
- Control.Lens.Zoom: instance Monad z => Zoom (StateT s z) (StateT t z) s t
- Control.Lens.Zoom: instance Zoom m n s t => Zoom (ExceptT e m) (ExceptT e n) s t
- Control.Lens.Zoom: instance Zoom m n s t => Zoom (IdentityT m) (IdentityT n) s t
- Control.Lens.Zoom: instance Zoom m n s t => Zoom (ListT m) (ListT n) s t
- Control.Lens.Zoom: instance Zoom m n s t => Zoom (MaybeT m) (MaybeT n) s t
- Control.Lens.Zoom: instance Zoom m n s t => Zoom (ReaderT e m) (ReaderT e n) s t
- Control.Monad.Error.Lens: [Handler] :: (e -> Maybe a) -> (a -> m r) -> Handler e m r
- Control.Monad.Error.Lens: instance Handleable e m (Handler e m)
- Control.Monad.Error.Lens: instance Monad m => Alt (Handler e m)
- Control.Monad.Error.Lens: instance Monad m => Functor (Handler e m)
- Control.Monad.Error.Lens: instance Monad m => Monoid (Handler e m a)
- Control.Monad.Error.Lens: instance Monad m => Plus (Handler e m)
- Control.Monad.Error.Lens: instance Monad m => Semigroup (Handler e m a)
- Data.ByteString.Lens: instance IsByteString ByteString
- Data.Data.Lens: instance Show (FieldException a)
- Data.Data.Lens: instance Typeable a => Exception (FieldException a)
- Data.Dynamic.Lens: instance AsDynamic Dynamic
- Data.Dynamic.Lens: instance AsDynamic SomeException
- Data.Text.Lens: instance IsText String
- Data.Text.Lens: instance IsText Text
- Generics.Deriving.Lens: instance (GTraversal f, GTraversal g) => GTraversal (f :*: g)
- Generics.Deriving.Lens: instance (GTraversal f, GTraversal g) => GTraversal (f :+: g)
- Generics.Deriving.Lens: instance (Generic a, GTraversal (Rep a), Typeable a) => GTraversal (K1 i a)
- Generics.Deriving.Lens: instance GTraversal U1
- Generics.Deriving.Lens: instance GTraversal V1
- Generics.Deriving.Lens: instance GTraversal a => GTraversal (M1 i c a)
- Language.Haskell.TH.Lens: instance HasName Con
- Language.Haskell.TH.Lens: instance HasName Name
- Language.Haskell.TH.Lens: instance HasName TyVarBndr
- Language.Haskell.TH.Lens: instance HasTypeVars Con
- Language.Haskell.TH.Lens: instance HasTypeVars Name
- Language.Haskell.TH.Lens: instance HasTypeVars TyVarBndr
- Language.Haskell.TH.Lens: instance HasTypeVars Type
- Language.Haskell.TH.Lens: instance HasTypeVars t => HasTypeVars (Maybe t)
- Language.Haskell.TH.Lens: instance HasTypeVars t => HasTypeVars [t]
- Language.Haskell.TH.Lens: instance HasTypes Con
- Language.Haskell.TH.Lens: instance HasTypes Type
- Language.Haskell.TH.Lens: instance HasTypes t => HasTypes [t]
- Language.Haskell.TH.Lens: instance SubstType Type
- Language.Haskell.TH.Lens: instance SubstType t => SubstType [t]
- System.Exit.Lens: instance (Choice p, Applicative f) => AsExitCode p f SomeException
- System.Exit.Lens: instance AsExitCode p f ExitCode
+ Control.Exception.Lens: instance Control.Exception.Lens.AsArithException GHC.Exception.ArithException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsArithException GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsArrayException GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsArrayException GHC.IO.Exception.ArrayException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsAssertionFailed GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsAssertionFailed GHC.IO.Exception.AssertionFailed
+ Control.Exception.Lens: instance Control.Exception.Lens.AsAsyncException GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsAsyncException GHC.IO.Exception.AsyncException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsBlockedIndefinitelyOnMVar GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsBlockedIndefinitelyOnMVar GHC.IO.Exception.BlockedIndefinitelyOnMVar
+ Control.Exception.Lens: instance Control.Exception.Lens.AsBlockedIndefinitelyOnSTM GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsBlockedIndefinitelyOnSTM GHC.IO.Exception.BlockedIndefinitelyOnSTM
+ Control.Exception.Lens: instance Control.Exception.Lens.AsDeadlock GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsDeadlock GHC.IO.Exception.Deadlock
+ Control.Exception.Lens: instance Control.Exception.Lens.AsErrorCall GHC.Exception.ErrorCall
+ Control.Exception.Lens: instance Control.Exception.Lens.AsErrorCall GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsHandlingException Control.Lens.Internal.Exception.HandlingException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsHandlingException GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsIOException GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsIOException GHC.IO.Exception.IOException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsNestedAtomically Control.Exception.Base.NestedAtomically
+ Control.Exception.Lens: instance Control.Exception.Lens.AsNestedAtomically GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsNoMethodError Control.Exception.Base.NoMethodError
+ Control.Exception.Lens: instance Control.Exception.Lens.AsNoMethodError GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsNonTermination Control.Exception.Base.NonTermination
+ Control.Exception.Lens: instance Control.Exception.Lens.AsNonTermination GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsPatternMatchFail Control.Exception.Base.PatternMatchFail
+ Control.Exception.Lens: instance Control.Exception.Lens.AsPatternMatchFail GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsRecConError Control.Exception.Base.RecConError
+ Control.Exception.Lens: instance Control.Exception.Lens.AsRecConError GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsRecSelError Control.Exception.Base.RecSelError
+ Control.Exception.Lens: instance Control.Exception.Lens.AsRecSelError GHC.Exception.SomeException
+ Control.Exception.Lens: instance Control.Exception.Lens.AsRecUpdError Control.Exception.Base.RecUpdError
+ Control.Exception.Lens: instance Control.Exception.Lens.AsRecUpdError GHC.Exception.SomeException
+ Control.Lens.At: instance (Data.Array.Base.IArray Data.Array.Base.UArray e, GHC.Arr.Ix i) => Control.Lens.At.Ixed (Data.Array.Base.UArray i e)
+ Control.Lens.At: instance (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) => Control.Lens.At.Contains (Data.HashSet.HashSet a)
+ Control.Lens.At: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Control.Lens.At.At (Data.HashMap.Base.HashMap k a)
+ Control.Lens.At: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Control.Lens.At.At (Data.HashSet.HashSet k)
+ Control.Lens.At: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Control.Lens.At.Ixed (Data.HashMap.Base.HashMap k a)
+ Control.Lens.At: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Control.Lens.At.Ixed (Data.HashSet.HashSet k)
+ Control.Lens.At: instance (a ~ a2) => Control.Lens.At.Ixed (a, a2)
+ Control.Lens.At: instance (a ~ a2, a ~ a3) => Control.Lens.At.Ixed (a, a2, a3)
+ Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4) => Control.Lens.At.Ixed (a, a2, a3, a4)
+ Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5) => Control.Lens.At.Ixed (a, a2, a3, a4, a5)
+ Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6) => Control.Lens.At.Ixed (a, a2, a3, a4, a5, a6)
+ Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7) => Control.Lens.At.Ixed (a, a2, a3, a4, a5, a6, a7)
+ Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8) => Control.Lens.At.Ixed (a, a2, a3, a4, a5, a6, a7, a8)
+ Control.Lens.At: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, a ~ a9) => Control.Lens.At.Ixed (a, a2, a3, a4, a5, a6, a7, a8, a9)
+ Control.Lens.At: instance Control.Lens.At.At (Data.IntMap.Base.IntMap a)
+ Control.Lens.At: instance Control.Lens.At.At (GHC.Base.Maybe a)
+ Control.Lens.At: instance Control.Lens.At.At Data.IntSet.Base.IntSet
+ Control.Lens.At: instance Control.Lens.At.Contains Data.IntSet.Base.IntSet
+ Control.Lens.At: instance Control.Lens.At.Ixed (Data.Functor.Identity.Identity a)
+ Control.Lens.At: instance Control.Lens.At.Ixed (Data.IntMap.Base.IntMap a)
+ Control.Lens.At: instance Control.Lens.At.Ixed (Data.List.NonEmpty.NonEmpty a)
+ Control.Lens.At: instance Control.Lens.At.Ixed (Data.Sequence.Seq a)
+ Control.Lens.At: instance Control.Lens.At.Ixed (Data.Tree.Tree a)
+ Control.Lens.At: instance Control.Lens.At.Ixed (Data.Vector.Vector a)
+ Control.Lens.At: instance Control.Lens.At.Ixed (GHC.Base.Maybe a)
+ Control.Lens.At: instance Control.Lens.At.Ixed Data.ByteString.Internal.ByteString
+ Control.Lens.At: instance Control.Lens.At.Ixed Data.ByteString.Lazy.Internal.ByteString
+ Control.Lens.At: instance Control.Lens.At.Ixed Data.IntSet.Base.IntSet
+ Control.Lens.At: instance Control.Lens.At.Ixed Data.Text.Internal.Lazy.Text
+ Control.Lens.At: instance Control.Lens.At.Ixed Data.Text.Internal.Text
+ Control.Lens.At: instance Control.Lens.At.Ixed [a]
+ Control.Lens.At: instance Data.Primitive.Types.Prim a => Control.Lens.At.Ixed (Data.Vector.Primitive.Vector a)
+ Control.Lens.At: instance Data.Vector.Unboxed.Base.Unbox a => Control.Lens.At.Ixed (Data.Vector.Unboxed.Base.Vector a)
+ Control.Lens.At: instance Foreign.Storable.Storable a => Control.Lens.At.Ixed (Data.Vector.Storable.Vector a)
+ Control.Lens.At: instance GHC.Arr.Ix i => Control.Lens.At.Ixed (GHC.Arr.Array i e)
+ Control.Lens.At: instance GHC.Classes.Eq e => Control.Lens.At.Ixed (e -> a)
+ Control.Lens.At: instance GHC.Classes.Ord a => Control.Lens.At.Contains (Data.Set.Base.Set a)
+ Control.Lens.At: instance GHC.Classes.Ord k => Control.Lens.At.At (Data.Map.Base.Map k a)
+ Control.Lens.At: instance GHC.Classes.Ord k => Control.Lens.At.At (Data.Set.Base.Set k)
+ Control.Lens.At: instance GHC.Classes.Ord k => Control.Lens.At.Ixed (Data.Map.Base.Map k a)
+ Control.Lens.At: instance GHC.Classes.Ord k => Control.Lens.At.Ixed (Data.Set.Base.Set k)
+ Control.Lens.Cons: infixl 5 `snoc`
+ Control.Lens.Cons: infixr 5 `cons`
+ Control.Lens.Cons: instance (Data.Primitive.Types.Prim a, Data.Primitive.Types.Prim b) => Control.Lens.Cons.Cons (Data.Vector.Primitive.Vector a) (Data.Vector.Primitive.Vector b) a b
+ Control.Lens.Cons: instance (Data.Primitive.Types.Prim a, Data.Primitive.Types.Prim b) => Control.Lens.Cons.Snoc (Data.Vector.Primitive.Vector a) (Data.Vector.Primitive.Vector b) a b
+ Control.Lens.Cons: instance (Data.Vector.Unboxed.Base.Unbox a, Data.Vector.Unboxed.Base.Unbox b) => Control.Lens.Cons.Cons (Data.Vector.Unboxed.Base.Vector a) (Data.Vector.Unboxed.Base.Vector b) a b
+ Control.Lens.Cons: instance (Data.Vector.Unboxed.Base.Unbox a, Data.Vector.Unboxed.Base.Unbox b) => Control.Lens.Cons.Snoc (Data.Vector.Unboxed.Base.Vector a) (Data.Vector.Unboxed.Base.Vector b) a b
+ Control.Lens.Cons: instance (Foreign.Storable.Storable a, Foreign.Storable.Storable b) => Control.Lens.Cons.Cons (Data.Vector.Storable.Vector a) (Data.Vector.Storable.Vector b) a b
+ Control.Lens.Cons: instance (Foreign.Storable.Storable a, Foreign.Storable.Storable b) => Control.Lens.Cons.Snoc (Data.Vector.Storable.Vector a) (Data.Vector.Storable.Vector b) a b
+ Control.Lens.Cons: instance (a ~ b) => Control.Lens.Cons.Cons (Data.List.NonEmpty.NonEmpty a) (Data.List.NonEmpty.NonEmpty b) a b
+ Control.Lens.Cons: instance (a ~ b) => Control.Lens.Cons.Snoc (Data.List.NonEmpty.NonEmpty a) (Data.List.NonEmpty.NonEmpty b) a b
+ Control.Lens.Cons: instance Control.Lens.Cons.Cons (Data.Sequence.Seq a) (Data.Sequence.Seq b) a b
+ Control.Lens.Cons: instance Control.Lens.Cons.Cons (Data.Vector.Vector a) (Data.Vector.Vector b) a b
+ Control.Lens.Cons: instance Control.Lens.Cons.Cons Data.ByteString.Internal.ByteString Data.ByteString.Internal.ByteString GHC.Word.Word8 GHC.Word.Word8
+ Control.Lens.Cons: instance Control.Lens.Cons.Cons Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Lazy.Internal.ByteString GHC.Word.Word8 GHC.Word.Word8
+ Control.Lens.Cons: instance Control.Lens.Cons.Cons Data.Text.Internal.Lazy.Text Data.Text.Internal.Lazy.Text GHC.Types.Char GHC.Types.Char
+ Control.Lens.Cons: instance Control.Lens.Cons.Cons Data.Text.Internal.Text Data.Text.Internal.Text GHC.Types.Char GHC.Types.Char
+ Control.Lens.Cons: instance Control.Lens.Cons.Cons [a] [b] a b
+ Control.Lens.Cons: instance Control.Lens.Cons.Snoc (Data.Sequence.Seq a) (Data.Sequence.Seq b) a b
+ Control.Lens.Cons: instance Control.Lens.Cons.Snoc (Data.Vector.Vector a) (Data.Vector.Vector b) a b
+ Control.Lens.Cons: instance Control.Lens.Cons.Snoc Data.ByteString.Internal.ByteString Data.ByteString.Internal.ByteString GHC.Word.Word8 GHC.Word.Word8
+ Control.Lens.Cons: instance Control.Lens.Cons.Snoc Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Lazy.Internal.ByteString GHC.Word.Word8 GHC.Word.Word8
+ Control.Lens.Cons: instance Control.Lens.Cons.Snoc Data.Text.Internal.Lazy.Text Data.Text.Internal.Lazy.Text GHC.Types.Char GHC.Types.Char
+ Control.Lens.Cons: instance Control.Lens.Cons.Snoc Data.Text.Internal.Text Data.Text.Internal.Text GHC.Types.Char GHC.Types.Char
+ Control.Lens.Cons: instance Control.Lens.Cons.Snoc [a] [b] a b
+ Control.Lens.Each: instance (Data.Primitive.Types.Prim a, Data.Primitive.Types.Prim b) => Control.Lens.Each.Each (Data.Vector.Primitive.Vector a) (Data.Vector.Primitive.Vector b) a b
+ Control.Lens.Each: instance (Data.Vector.Unboxed.Base.Unbox a, Data.Vector.Unboxed.Base.Unbox b) => Control.Lens.Each.Each (Data.Vector.Unboxed.Base.Vector a) (Data.Vector.Unboxed.Base.Vector b) a b
+ Control.Lens.Each: instance (Foreign.Storable.Storable a, Foreign.Storable.Storable b) => Control.Lens.Each.Each (Data.Vector.Storable.Vector a) (Data.Vector.Storable.Vector b) a b
+ Control.Lens.Each: instance (GHC.Arr.Ix i, Data.Array.Base.IArray Data.Array.Base.UArray a, Data.Array.Base.IArray Data.Array.Base.UArray b, i ~ j) => Control.Lens.Each.Each (Data.Array.Base.UArray i a) (Data.Array.Base.UArray j b) a b
+ Control.Lens.Each: instance (GHC.Arr.Ix i, i ~ j) => Control.Lens.Each.Each (GHC.Arr.Array i a) (GHC.Arr.Array j b) a b
+ Control.Lens.Each: instance (a ~ GHC.Types.Char, b ~ GHC.Types.Char) => Control.Lens.Each.Each Data.Text.Internal.Lazy.Text Data.Text.Internal.Lazy.Text a b
+ Control.Lens.Each: instance (a ~ GHC.Types.Char, b ~ GHC.Types.Char) => Control.Lens.Each.Each Data.Text.Internal.Text Data.Text.Internal.Text a b
+ Control.Lens.Each: instance (a ~ GHC.Word.Word8, b ~ GHC.Word.Word8) => Control.Lens.Each.Each Data.ByteString.Internal.ByteString Data.ByteString.Internal.ByteString a b
+ Control.Lens.Each: instance (a ~ GHC.Word.Word8, b ~ GHC.Word.Word8) => Control.Lens.Each.Each Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Lazy.Internal.ByteString a b
+ Control.Lens.Each: instance (a ~ a', b ~ b') => Control.Lens.Each.Each (a, a') (b, b') a b
+ Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, a ~ a9, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7, b ~ b8, b ~ b9) => Control.Lens.Each.Each (a, a2, a3, a4, a5, a6, a7, a8, a9) (b, b2, b3, b4, b5, b6, b7, b8, b9) a b
+ Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7, b ~ b8) => Control.Lens.Each.Each (a, a2, a3, a4, a5, a6, a7, a8) (b, b2, b3, b4, b5, b6, b7, b8) a b
+ Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7) => Control.Lens.Each.Each (a, a2, a3, a4, a5, a6, a7) (b, b2, b3, b4, b5, b6, b7) a b
+ Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6) => Control.Lens.Each.Each (a, a2, a3, a4, a5, a6) (b, b2, b3, b4, b5, b6) a b
+ Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, a ~ a5, b ~ b2, b ~ b3, b ~ b4, b ~ b5) => Control.Lens.Each.Each (a, a2, a3, a4, a5) (b, b2, b3, b4, b5) a b
+ Control.Lens.Each: instance (a ~ a2, a ~ a3, a ~ a4, b ~ b2, b ~ b3, b ~ b4) => Control.Lens.Each.Each (a, a2, a3, a4) (b, b2, b3, b4) a b
+ Control.Lens.Each: instance (a ~ a2, a ~ a3, b ~ b2, b ~ b3) => Control.Lens.Each.Each (a, a2, a3) (b, b2, b3) a b
+ Control.Lens.Each: instance (c ~ d) => Control.Lens.Each.Each (Data.HashMap.Base.HashMap c a) (Data.HashMap.Base.HashMap d b) a b
+ Control.Lens.Each: instance (c ~ d) => Control.Lens.Each.Each (Data.Map.Base.Map c a) (Data.Map.Base.Map d b) a b
+ Control.Lens.Each: instance Control.Lens.Each.Each (Data.Complex.Complex a) (Data.Complex.Complex b) a b
+ Control.Lens.Each: instance Control.Lens.Each.Each (Data.Functor.Identity.Identity a) (Data.Functor.Identity.Identity b) a b
+ Control.Lens.Each: instance Control.Lens.Each.Each (Data.IntMap.Base.IntMap a) (Data.IntMap.Base.IntMap b) a b
+ Control.Lens.Each: instance Control.Lens.Each.Each (Data.List.NonEmpty.NonEmpty a) (Data.List.NonEmpty.NonEmpty b) a b
+ Control.Lens.Each: instance Control.Lens.Each.Each (Data.Sequence.Seq a) (Data.Sequence.Seq b) a b
+ Control.Lens.Each: instance Control.Lens.Each.Each (Data.Tree.Tree a) (Data.Tree.Tree b) a b
+ Control.Lens.Each: instance Control.Lens.Each.Each (Data.Vector.Vector a) (Data.Vector.Vector b) a b
+ Control.Lens.Each: instance Control.Lens.Each.Each (GHC.Base.Maybe a) (GHC.Base.Maybe b) a b
+ Control.Lens.Each: instance Control.Lens.Each.Each [a] [b] a b
+ Control.Lens.Empty: instance (Control.Lens.Empty.AsEmpty a, Control.Lens.Empty.AsEmpty b) => Control.Lens.Empty.AsEmpty (a, b)
+ Control.Lens.Empty: instance (Control.Lens.Empty.AsEmpty a, Control.Lens.Empty.AsEmpty b, Control.Lens.Empty.AsEmpty c) => Control.Lens.Empty.AsEmpty (a, b, c)
+ Control.Lens.Empty: instance (GHC.Classes.Eq a, GHC.Num.Num a) => Control.Lens.Empty.AsEmpty (Data.Monoid.Product a)
+ Control.Lens.Empty: instance (GHC.Classes.Eq a, GHC.Num.Num a) => Control.Lens.Empty.AsEmpty (Data.Monoid.Sum a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty ()
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty (Data.HashMap.Base.HashMap k a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty (Data.HashSet.HashSet a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty (Data.IntMap.Base.IntMap a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty (Data.Map.Base.Map k a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty (Data.Monoid.First a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty (Data.Monoid.Last a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty (Data.Sequence.Seq a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty (Data.Set.Base.Set a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty (Data.Vector.Vector a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty (GHC.Base.Maybe a)
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty Data.ByteString.Internal.ByteString
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty Data.ByteString.Lazy.Internal.ByteString
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty Data.IntSet.Base.IntSet
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty Data.Monoid.All
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty Data.Monoid.Any
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty Data.Text.Internal.Lazy.Text
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty Data.Text.Internal.Text
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty GHC.Event.Internal.Event
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty GHC.Types.Ordering
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty [a]
+ Control.Lens.Empty: instance Control.Lens.Empty.AsEmpty a => Control.Lens.Empty.AsEmpty (Data.Monoid.Dual a)
+ Control.Lens.Empty: instance Data.Vector.Unboxed.Base.Unbox a => Control.Lens.Empty.AsEmpty (Data.Vector.Unboxed.Base.Vector a)
+ Control.Lens.Empty: instance Foreign.Storable.Storable a => Control.Lens.Empty.AsEmpty (Data.Vector.Storable.Vector a)
+ Control.Lens.Equality: Identical :: Identical a b a b
+ Control.Lens.Fold: infixl 8 ^@?!
+ Control.Lens.Getter: Const :: a -> Const a b
+ Control.Lens.Getter: infixl 8 ^@.
+ Control.Lens.Indexed: Indexed :: (i -> a -> b) -> Indexed i a b
+ Control.Lens.Indexed: infixr 9 .>
+ Control.Lens.Indexed: instance (Control.Lens.Indexed.FoldableWithIndex i f, Control.Lens.Indexed.FoldableWithIndex j g) => Control.Lens.Indexed.FoldableWithIndex (Data.Either.Either i j) (Data.Functor.Product.Product f g)
+ Control.Lens.Indexed: instance (Control.Lens.Indexed.FoldableWithIndex i f, Control.Lens.Indexed.FoldableWithIndex j g) => Control.Lens.Indexed.FoldableWithIndex (i, j) (Data.Functor.Compose.Compose f g)
+ Control.Lens.Indexed: instance (Control.Lens.Indexed.FunctorWithIndex i f, Control.Lens.Indexed.FunctorWithIndex j g) => Control.Lens.Indexed.FunctorWithIndex (Data.Either.Either i j) (Data.Functor.Product.Product f g)
+ Control.Lens.Indexed: instance (Control.Lens.Indexed.FunctorWithIndex i f, Control.Lens.Indexed.FunctorWithIndex j g) => Control.Lens.Indexed.FunctorWithIndex (i, j) (Data.Functor.Compose.Compose f g)
+ Control.Lens.Indexed: instance (Control.Lens.Indexed.TraversableWithIndex i f, Control.Lens.Indexed.TraversableWithIndex j g) => Control.Lens.Indexed.TraversableWithIndex (Data.Either.Either i j) (Data.Functor.Product.Product f g)
+ Control.Lens.Indexed: instance (Control.Lens.Indexed.TraversableWithIndex i f, Control.Lens.Indexed.TraversableWithIndex j g) => Control.Lens.Indexed.TraversableWithIndex (i, j) (Data.Functor.Compose.Compose f g)
+ Control.Lens.Indexed: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Control.Lens.Indexed.FoldableWithIndex k (Data.HashMap.Base.HashMap k)
+ Control.Lens.Indexed: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Control.Lens.Indexed.FunctorWithIndex k (Data.HashMap.Base.HashMap k)
+ Control.Lens.Indexed: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Control.Lens.Indexed.TraversableWithIndex k (Data.HashMap.Base.HashMap k)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex () Data.Functor.Identity.Identity
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex () GHC.Base.Maybe
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex GHC.Types.Int Data.IntMap.Base.IntMap
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex GHC.Types.Int Data.List.NonEmpty.NonEmpty
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex GHC.Types.Int Data.Sequence.Seq
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex GHC.Types.Int Data.Vector.Vector
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex GHC.Types.Int []
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex [GHC.Types.Int] Data.Tree.Tree
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex i (Control.Lens.Internal.Level.Level i)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex i (Control.Lens.Internal.Magma.Magma i t b)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex i f => Control.Lens.Indexed.FoldableWithIndex [i] (Control.Comonad.Cofree.Cofree f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex i f => Control.Lens.Indexed.FoldableWithIndex [i] (Control.Monad.Free.Free f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex i f => Control.Lens.Indexed.FoldableWithIndex i (Control.Applicative.Backwards.Backwards f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex i f => Control.Lens.Indexed.FoldableWithIndex i (Data.Functor.Reverse.Reverse f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex i m => Control.Lens.Indexed.FoldableWithIndex i (Control.Monad.Trans.Identity.IdentityT m)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex k ((,) k)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FoldableWithIndex k (Data.Map.Base.Map k)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex () Data.Functor.Identity.Identity
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex () GHC.Base.Maybe
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex GHC.Types.Int Data.IntMap.Base.IntMap
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex GHC.Types.Int Data.List.NonEmpty.NonEmpty
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex GHC.Types.Int Data.Sequence.Seq
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex GHC.Types.Int Data.Vector.Vector
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex GHC.Types.Int []
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex [GHC.Types.Int] Data.Tree.Tree
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex i (Control.Lens.Internal.Level.Level i)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex i (Control.Lens.Internal.Magma.Magma i t b)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex i f => Control.Lens.Indexed.FunctorWithIndex [i] (Control.Comonad.Cofree.Cofree f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex i f => Control.Lens.Indexed.FunctorWithIndex [i] (Control.Monad.Free.Free f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex i f => Control.Lens.Indexed.FunctorWithIndex i (Control.Applicative.Backwards.Backwards f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex i f => Control.Lens.Indexed.FunctorWithIndex i (Data.Functor.Reverse.Reverse f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex i m => Control.Lens.Indexed.FunctorWithIndex (e, i) (Control.Monad.Trans.Reader.ReaderT e m)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex i m => Control.Lens.Indexed.FunctorWithIndex i (Control.Monad.Trans.Identity.IdentityT m)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex i w => Control.Lens.Indexed.FunctorWithIndex (s, i) (Control.Comonad.Trans.Traced.TracedT s w)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex k ((,) k)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex k (Data.Map.Base.Map k)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.FunctorWithIndex r ((->) r)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex () Data.Functor.Identity.Identity
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex () GHC.Base.Maybe
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex GHC.Types.Int Data.IntMap.Base.IntMap
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex GHC.Types.Int Data.List.NonEmpty.NonEmpty
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex GHC.Types.Int Data.Sequence.Seq
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex GHC.Types.Int Data.Vector.Vector
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex GHC.Types.Int []
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex [GHC.Types.Int] Data.Tree.Tree
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex i (Control.Lens.Internal.Level.Level i)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex i (Control.Lens.Internal.Magma.Magma i t b)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex i f => Control.Lens.Indexed.TraversableWithIndex [i] (Control.Comonad.Cofree.Cofree f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex i f => Control.Lens.Indexed.TraversableWithIndex [i] (Control.Monad.Free.Free f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex i f => Control.Lens.Indexed.TraversableWithIndex i (Control.Applicative.Backwards.Backwards f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex i f => Control.Lens.Indexed.TraversableWithIndex i (Data.Functor.Reverse.Reverse f)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex i m => Control.Lens.Indexed.TraversableWithIndex i (Control.Monad.Trans.Identity.IdentityT m)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex k ((,) k)
+ Control.Lens.Indexed: instance Control.Lens.Indexed.TraversableWithIndex k (Data.Map.Base.Map k)
+ Control.Lens.Indexed: instance GHC.Arr.Ix i => Control.Lens.Indexed.FoldableWithIndex i (GHC.Arr.Array i)
+ Control.Lens.Indexed: instance GHC.Arr.Ix i => Control.Lens.Indexed.FunctorWithIndex i (GHC.Arr.Array i)
+ Control.Lens.Indexed: instance GHC.Arr.Ix i => Control.Lens.Indexed.TraversableWithIndex i (GHC.Arr.Array i)
+ Control.Lens.Internal.Bazaar: Bazaar :: (forall f. Applicative f => p a (f b) -> f t) -> Bazaar p a b t
+ Control.Lens.Internal.Bazaar: Bazaar1 :: (forall f. Apply f => p a (f b) -> f t) -> Bazaar1 p a b t
+ Control.Lens.Internal.Bazaar: BazaarT :: (forall f. Applicative f => p a (f b) -> f t) -> BazaarT p a b t
+ Control.Lens.Internal.Bazaar: BazaarT1 :: (forall f. Apply f => p a (f b) -> f t) -> BazaarT1 p a b t
+ Control.Lens.Internal.Bazaar: instance (Data.Profunctor.Unsafe.Profunctor p, Data.Functor.Contravariant.Contravariant g) => Data.Functor.Contravariant.Contravariant (Control.Lens.Internal.Bazaar.BazaarT p g a b)
+ Control.Lens.Internal.Bazaar: instance (Data.Profunctor.Unsafe.Profunctor p, Data.Functor.Contravariant.Contravariant g) => Data.Functor.Contravariant.Contravariant (Control.Lens.Internal.Bazaar.BazaarT1 p g a b)
+ Control.Lens.Internal.Bazaar: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.Comonad (Control.Lens.Internal.Bazaar.Bazaar p a b)
+ Control.Lens.Internal.Bazaar: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.Comonad (Control.Lens.Internal.Bazaar.Bazaar1 p a b)
+ Control.Lens.Internal.Bazaar: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.Comonad (Control.Lens.Internal.Bazaar.BazaarT p g a b)
+ Control.Lens.Internal.Bazaar: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.Comonad (Control.Lens.Internal.Bazaar.BazaarT1 p g a b)
+ Control.Lens.Internal.Bazaar: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.ComonadApply (Control.Lens.Internal.Bazaar.Bazaar p a b)
+ Control.Lens.Internal.Bazaar: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.ComonadApply (Control.Lens.Internal.Bazaar.Bazaar1 p a b)
+ Control.Lens.Internal.Bazaar: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.ComonadApply (Control.Lens.Internal.Bazaar.BazaarT p g a b)
+ Control.Lens.Internal.Bazaar: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.ComonadApply (Control.Lens.Internal.Bazaar.BazaarT1 p g a b)
+ Control.Lens.Internal.Bazaar: instance Control.Lens.Internal.Context.IndexedFunctor (Control.Lens.Internal.Bazaar.Bazaar p)
+ Control.Lens.Internal.Bazaar: instance Control.Lens.Internal.Context.IndexedFunctor (Control.Lens.Internal.Bazaar.Bazaar1 p)
+ Control.Lens.Internal.Bazaar: instance Control.Lens.Internal.Context.IndexedFunctor (Control.Lens.Internal.Bazaar.BazaarT p g)
+ Control.Lens.Internal.Bazaar: instance Control.Lens.Internal.Context.IndexedFunctor (Control.Lens.Internal.Bazaar.BazaarT1 p g)
+ Control.Lens.Internal.Bazaar: instance Control.Lens.Internal.Indexed.Conjoined p => Control.Lens.Internal.Context.IndexedComonad (Control.Lens.Internal.Bazaar.Bazaar p)
+ Control.Lens.Internal.Bazaar: instance Control.Lens.Internal.Indexed.Conjoined p => Control.Lens.Internal.Context.IndexedComonad (Control.Lens.Internal.Bazaar.Bazaar1 p)
+ Control.Lens.Internal.Bazaar: instance Control.Lens.Internal.Indexed.Conjoined p => Control.Lens.Internal.Context.IndexedComonad (Control.Lens.Internal.Bazaar.BazaarT p g)
+ Control.Lens.Internal.Bazaar: instance Control.Lens.Internal.Indexed.Conjoined p => Control.Lens.Internal.Context.IndexedComonad (Control.Lens.Internal.Bazaar.BazaarT1 p g)
+ Control.Lens.Internal.Bazaar: instance Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Bazaar.Bazaar p a b)
+ Control.Lens.Internal.Bazaar: instance Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Bazaar.Bazaar1 p a b)
+ Control.Lens.Internal.Bazaar: instance Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Bazaar.BazaarT p g a b)
+ Control.Lens.Internal.Bazaar: instance Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Bazaar.BazaarT1 p g a b)
+ Control.Lens.Internal.Bazaar: instance Data.Functor.Contravariant.Contravariant g => Data.Semigroup.Semigroup (Control.Lens.Internal.Bazaar.BazaarT p g a b t)
+ Control.Lens.Internal.Bazaar: instance Data.Functor.Contravariant.Contravariant g => Data.Semigroup.Semigroup (Control.Lens.Internal.Bazaar.BazaarT1 p g a b t)
+ Control.Lens.Internal.Bazaar: instance Data.Functor.Contravariant.Contravariant g => GHC.Base.Monoid (Control.Lens.Internal.Bazaar.BazaarT p g a b t)
+ Control.Lens.Internal.Bazaar: instance Data.Profunctor.Rep.Corepresentable p => Control.Lens.Internal.Context.Sellable p (Control.Lens.Internal.Bazaar.Bazaar p)
+ Control.Lens.Internal.Bazaar: instance Data.Profunctor.Rep.Corepresentable p => Control.Lens.Internal.Context.Sellable p (Control.Lens.Internal.Bazaar.Bazaar1 p)
+ Control.Lens.Internal.Bazaar: instance Data.Profunctor.Rep.Corepresentable p => Control.Lens.Internal.Context.Sellable p (Control.Lens.Internal.Bazaar.BazaarT p g)
+ Control.Lens.Internal.Bazaar: instance Data.Profunctor.Rep.Corepresentable p => Control.Lens.Internal.Context.Sellable p (Control.Lens.Internal.Bazaar.BazaarT1 p g)
+ Control.Lens.Internal.Bazaar: instance Data.Profunctor.Unsafe.Profunctor p => Control.Lens.Internal.Bazaar.Bizarre p (Control.Lens.Internal.Bazaar.Bazaar p)
+ Control.Lens.Internal.Bazaar: instance Data.Profunctor.Unsafe.Profunctor p => Control.Lens.Internal.Bazaar.Bizarre p (Control.Lens.Internal.Bazaar.BazaarT p g)
+ Control.Lens.Internal.Bazaar: instance Data.Profunctor.Unsafe.Profunctor p => Control.Lens.Internal.Bazaar.Bizarre1 p (Control.Lens.Internal.Bazaar.Bazaar1 p)
+ Control.Lens.Internal.Bazaar: instance Data.Profunctor.Unsafe.Profunctor p => Control.Lens.Internal.Bazaar.Bizarre1 p (Control.Lens.Internal.Bazaar.BazaarT1 p g)
+ Control.Lens.Internal.Bazaar: instance GHC.Base.Applicative (Control.Lens.Internal.Bazaar.Bazaar p a b)
+ Control.Lens.Internal.Bazaar: instance GHC.Base.Applicative (Control.Lens.Internal.Bazaar.BazaarT p g a b)
+ Control.Lens.Internal.Bazaar: instance GHC.Base.Functor (Control.Lens.Internal.Bazaar.Bazaar p a b)
+ Control.Lens.Internal.Bazaar: instance GHC.Base.Functor (Control.Lens.Internal.Bazaar.Bazaar1 p a b)
+ Control.Lens.Internal.Bazaar: instance GHC.Base.Functor (Control.Lens.Internal.Bazaar.BazaarT p g a b)
+ Control.Lens.Internal.Bazaar: instance GHC.Base.Functor (Control.Lens.Internal.Bazaar.BazaarT1 p g a b)
+ Control.Lens.Internal.Context: Context :: (b -> t) -> a -> Context a b t
+ Control.Lens.Internal.Context: Pretext :: (forall f. Functor f => p a (f b) -> f t) -> Pretext p a b t
+ Control.Lens.Internal.Context: PretextT :: (forall f. Functor f => p a (f b) -> f t) -> PretextT p a b t
+ Control.Lens.Internal.Context: instance (Data.Profunctor.Unsafe.Profunctor p, Data.Functor.Contravariant.Contravariant g) => Data.Functor.Contravariant.Contravariant (Control.Lens.Internal.Context.PretextT p g a b)
+ Control.Lens.Internal.Context: instance (a ~ b) => Control.Comonad.Comonad (Control.Lens.Internal.Context.Context a b)
+ Control.Lens.Internal.Context: instance (a ~ b) => Control.Comonad.Store.Class.ComonadStore a (Control.Lens.Internal.Context.Context a b)
+ Control.Lens.Internal.Context: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.Comonad (Control.Lens.Internal.Context.Pretext p a b)
+ Control.Lens.Internal.Context: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.Comonad (Control.Lens.Internal.Context.PretextT p g a b)
+ Control.Lens.Internal.Context: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.Store.Class.ComonadStore a (Control.Lens.Internal.Context.Pretext p a b)
+ Control.Lens.Internal.Context: instance (a ~ b, Control.Lens.Internal.Indexed.Conjoined p) => Control.Comonad.Store.Class.ComonadStore a (Control.Lens.Internal.Context.PretextT p g a b)
+ Control.Lens.Internal.Context: instance Control.Lens.Internal.Context.IndexedComonad Control.Lens.Internal.Context.Context
+ Control.Lens.Internal.Context: instance Control.Lens.Internal.Context.IndexedComonadStore Control.Lens.Internal.Context.Context
+ Control.Lens.Internal.Context: instance Control.Lens.Internal.Context.IndexedFunctor (Control.Lens.Internal.Context.Pretext p)
+ Control.Lens.Internal.Context: instance Control.Lens.Internal.Context.IndexedFunctor (Control.Lens.Internal.Context.PretextT p g)
+ Control.Lens.Internal.Context: instance Control.Lens.Internal.Context.IndexedFunctor Control.Lens.Internal.Context.Context
+ Control.Lens.Internal.Context: instance Control.Lens.Internal.Context.Sellable (->) Control.Lens.Internal.Context.Context
+ Control.Lens.Internal.Context: instance Control.Lens.Internal.Indexed.Conjoined p => Control.Lens.Internal.Context.IndexedComonad (Control.Lens.Internal.Context.Pretext p)
+ Control.Lens.Internal.Context: instance Control.Lens.Internal.Indexed.Conjoined p => Control.Lens.Internal.Context.IndexedComonad (Control.Lens.Internal.Context.PretextT p g)
+ Control.Lens.Internal.Context: instance Control.Lens.Internal.Indexed.Conjoined p => Control.Lens.Internal.Context.IndexedComonadStore (Control.Lens.Internal.Context.Pretext p)
+ Control.Lens.Internal.Context: instance Control.Lens.Internal.Indexed.Conjoined p => Control.Lens.Internal.Context.IndexedComonadStore (Control.Lens.Internal.Context.PretextT p g)
+ Control.Lens.Internal.Context: instance Data.Profunctor.Rep.Corepresentable p => Control.Lens.Internal.Context.Sellable p (Control.Lens.Internal.Context.Pretext p)
+ Control.Lens.Internal.Context: instance Data.Profunctor.Rep.Corepresentable p => Control.Lens.Internal.Context.Sellable p (Control.Lens.Internal.Context.PretextT p g)
+ Control.Lens.Internal.Context: instance GHC.Base.Functor (Control.Lens.Internal.Context.Context a b)
+ Control.Lens.Internal.Context: instance GHC.Base.Functor (Control.Lens.Internal.Context.Pretext p a b)
+ Control.Lens.Internal.Context: instance GHC.Base.Functor (Control.Lens.Internal.Context.PretextT p g a b)
+ Control.Lens.Internal.Deque: BD :: !Int -> [a] -> !Int -> [a] -> Deque a
+ Control.Lens.Internal.Deque: instance Control.Lens.Cons.Cons (Control.Lens.Internal.Deque.Deque a) (Control.Lens.Internal.Deque.Deque b) a b
+ Control.Lens.Internal.Deque: instance Control.Lens.Cons.Snoc (Control.Lens.Internal.Deque.Deque a) (Control.Lens.Internal.Deque.Deque b) a b
+ Control.Lens.Internal.Deque: instance Control.Lens.Indexed.FoldableWithIndex GHC.Types.Int Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance Control.Lens.Indexed.FunctorWithIndex GHC.Types.Int Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance Control.Lens.Indexed.TraversableWithIndex GHC.Types.Int Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance Control.Lens.Internal.Iso.Reversing (Control.Lens.Internal.Deque.Deque a)
+ Control.Lens.Internal.Deque: instance Data.Foldable.Foldable Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance Data.Functor.Alt.Alt Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance Data.Functor.Bind.Class.Apply Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance Data.Functor.Bind.Class.Bind Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance Data.Functor.Plus.Plus Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance Data.Semigroup.Semigroup (Control.Lens.Internal.Deque.Deque a)
+ Control.Lens.Internal.Deque: instance Data.Traversable.Traversable Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance GHC.Base.Alternative Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance GHC.Base.Applicative Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance GHC.Base.Functor Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance GHC.Base.Monad Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance GHC.Base.MonadPlus Control.Lens.Internal.Deque.Deque
+ Control.Lens.Internal.Deque: instance GHC.Base.Monoid (Control.Lens.Internal.Deque.Deque a)
+ Control.Lens.Internal.Deque: instance GHC.Classes.Eq a => GHC.Classes.Eq (Control.Lens.Internal.Deque.Deque a)
+ Control.Lens.Internal.Deque: instance GHC.Classes.Ord a => GHC.Classes.Ord (Control.Lens.Internal.Deque.Deque a)
+ Control.Lens.Internal.Deque: instance GHC.Show.Show a => GHC.Show.Show (Control.Lens.Internal.Deque.Deque a)
+ Control.Lens.Internal.Exception: HandlingException :: HandlingException
+ Control.Lens.Internal.Exception: instance Control.Lens.Internal.Exception.Handleable GHC.Exception.SomeException GHC.Types.IO Control.Exception.Handler
+ Control.Lens.Internal.Exception: instance Data.Typeable.Internal.Typeable m => Control.Lens.Internal.Exception.Handleable GHC.Exception.SomeException m (Control.Monad.Catch.Handler m)
+ Control.Lens.Internal.Exception: instance GHC.Exception.Exception Control.Lens.Internal.Exception.HandlingException
+ Control.Lens.Internal.Exception: instance GHC.Show.Show Control.Lens.Internal.Exception.HandlingException
+ Control.Lens.Internal.Exception: instance forall (k :: BOX) a (s :: k) (m :: * -> *). (Data.Reflection.Reifies s (GHC.Exception.SomeException -> GHC.Base.Maybe a), Data.Typeable.Internal.Typeable (Control.Lens.Internal.Exception.Handling a s m)) => GHC.Exception.Exception (Control.Lens.Internal.Exception.Handling a s m)
+ Control.Lens.Internal.Exception: instance forall (k :: BOX) a (s :: k) (m :: * -> *). GHC.Show.Show (Control.Lens.Internal.Exception.Handling a s m)
+ Control.Lens.Internal.FieldTH: LensRules :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> (Name -> [Name] -> Name -> [DefName]) -> (Name -> Maybe (Name, Name)) -> LensRules
+ Control.Lens.Internal.FieldTH: MethodName :: Name -> Name -> DefName
+ Control.Lens.Internal.FieldTH: TopName :: Name -> DefName
+ Control.Lens.Internal.FieldTH: instance GHC.Classes.Eq Control.Lens.Internal.FieldTH.DefName
+ Control.Lens.Internal.FieldTH: instance GHC.Classes.Ord Control.Lens.Internal.FieldTH.DefName
+ Control.Lens.Internal.FieldTH: instance GHC.Show.Show Control.Lens.Internal.FieldTH.DefName
+ Control.Lens.Internal.Fold: Folding :: f a -> Folding f a
+ Control.Lens.Internal.Fold: LLeaf :: a -> Leftmost a
+ Control.Lens.Internal.Fold: LPure :: Leftmost a
+ Control.Lens.Internal.Fold: LStep :: (Leftmost a) -> Leftmost a
+ Control.Lens.Internal.Fold: M :: a -> M a s
+ Control.Lens.Internal.Fold: Max :: a -> Max a
+ Control.Lens.Internal.Fold: Min :: a -> Min a
+ Control.Lens.Internal.Fold: NoMax :: Max a
+ Control.Lens.Internal.Fold: NoMin :: Min a
+ Control.Lens.Internal.Fold: RLeaf :: a -> Rightmost a
+ Control.Lens.Internal.Fold: RPure :: Rightmost a
+ Control.Lens.Internal.Fold: RStep :: (Rightmost a) -> Rightmost a
+ Control.Lens.Internal.Fold: ReifiedMonoid :: (a -> a -> a) -> a -> ReifiedMonoid a
+ Control.Lens.Internal.Fold: Sequenced :: m a -> Sequenced a m
+ Control.Lens.Internal.Fold: Traversed :: f a -> Traversed a f
+ Control.Lens.Internal.Fold: instance (Data.Functor.Contravariant.Contravariant f, Data.Functor.Bind.Class.Apply f) => Data.Semigroup.Semigroup (Control.Lens.Internal.Fold.Folding f a)
+ Control.Lens.Internal.Fold: instance (Data.Functor.Contravariant.Contravariant f, GHC.Base.Applicative f) => GHC.Base.Monoid (Control.Lens.Internal.Fold.Folding f a)
+ Control.Lens.Internal.Fold: instance Data.Functor.Bind.Class.Apply f => Data.Semigroup.Semigroup (Control.Lens.Internal.Fold.Traversed a f)
+ Control.Lens.Internal.Fold: instance Data.Functor.Bind.Class.Apply m => Data.Semigroup.Semigroup (Control.Lens.Internal.Fold.Sequenced a m)
+ Control.Lens.Internal.Fold: instance Data.Reflection.Reifies s (Control.Lens.Internal.Fold.ReifiedMonoid a) => GHC.Base.Monoid (Control.Lens.Internal.Fold.M a s)
+ Control.Lens.Internal.Fold: instance Data.Semigroup.Semigroup (Control.Lens.Internal.Fold.Leftmost a)
+ Control.Lens.Internal.Fold: instance Data.Semigroup.Semigroup (Control.Lens.Internal.Fold.Rightmost a)
+ Control.Lens.Internal.Fold: instance GHC.Base.Applicative f => GHC.Base.Monoid (Control.Lens.Internal.Fold.Traversed a f)
+ Control.Lens.Internal.Fold: instance GHC.Base.Monad m => GHC.Base.Monoid (Control.Lens.Internal.Fold.Sequenced a m)
+ Control.Lens.Internal.Fold: instance GHC.Base.Monoid (Control.Lens.Internal.Fold.Leftmost a)
+ Control.Lens.Internal.Fold: instance GHC.Base.Monoid (Control.Lens.Internal.Fold.Rightmost a)
+ Control.Lens.Internal.Fold: instance GHC.Classes.Ord a => Data.Semigroup.Semigroup (Control.Lens.Internal.Fold.Max a)
+ Control.Lens.Internal.Fold: instance GHC.Classes.Ord a => Data.Semigroup.Semigroup (Control.Lens.Internal.Fold.Min a)
+ Control.Lens.Internal.Fold: instance GHC.Classes.Ord a => GHC.Base.Monoid (Control.Lens.Internal.Fold.Max a)
+ Control.Lens.Internal.Fold: instance GHC.Classes.Ord a => GHC.Base.Monoid (Control.Lens.Internal.Fold.Min a)
+ Control.Lens.Internal.Getter: AlongsideLeft :: f (a, b) -> AlongsideLeft f b a
+ Control.Lens.Internal.Getter: AlongsideRight :: f (a, b) -> AlongsideRight f a b
+ Control.Lens.Internal.Getter: instance Data.Foldable.Foldable f => Data.Bifoldable.Bifoldable (Control.Lens.Internal.Getter.AlongsideLeft f)
+ Control.Lens.Internal.Getter: instance Data.Foldable.Foldable f => Data.Bifoldable.Bifoldable (Control.Lens.Internal.Getter.AlongsideRight f)
+ Control.Lens.Internal.Getter: instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Control.Lens.Internal.Getter.AlongsideLeft f b)
+ Control.Lens.Internal.Getter: instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Control.Lens.Internal.Getter.AlongsideRight f a)
+ Control.Lens.Internal.Getter: instance Data.Functor.Contravariant.Contravariant f => Data.Functor.Contravariant.Contravariant (Control.Lens.Internal.Getter.AlongsideLeft f b)
+ Control.Lens.Internal.Getter: instance Data.Functor.Contravariant.Contravariant f => Data.Functor.Contravariant.Contravariant (Control.Lens.Internal.Getter.AlongsideRight f a)
+ Control.Lens.Internal.Getter: instance Data.Semigroup.Foldable.Class.Foldable1 f => Data.Semigroup.Foldable.Class.Foldable1 (Control.Lens.Internal.Getter.AlongsideLeft f b)
+ Control.Lens.Internal.Getter: instance Data.Semigroup.Foldable.Class.Foldable1 f => Data.Semigroup.Foldable.Class.Foldable1 (Control.Lens.Internal.Getter.AlongsideRight f a)
+ Control.Lens.Internal.Getter: instance Data.Semigroup.Traversable.Class.Traversable1 f => Data.Semigroup.Traversable.Class.Traversable1 (Control.Lens.Internal.Getter.AlongsideLeft f b)
+ Control.Lens.Internal.Getter: instance Data.Semigroup.Traversable.Class.Traversable1 f => Data.Semigroup.Traversable.Class.Traversable1 (Control.Lens.Internal.Getter.AlongsideRight f a)
+ Control.Lens.Internal.Getter: instance Data.Traversable.Traversable f => Data.Bitraversable.Bitraversable (Control.Lens.Internal.Getter.AlongsideLeft f)
+ Control.Lens.Internal.Getter: instance Data.Traversable.Traversable f => Data.Bitraversable.Bitraversable (Control.Lens.Internal.Getter.AlongsideRight f)
+ Control.Lens.Internal.Getter: instance Data.Traversable.Traversable f => Data.Traversable.Traversable (Control.Lens.Internal.Getter.AlongsideLeft f b)
+ Control.Lens.Internal.Getter: instance Data.Traversable.Traversable f => Data.Traversable.Traversable (Control.Lens.Internal.Getter.AlongsideRight f a)
+ Control.Lens.Internal.Getter: instance GHC.Base.Functor f => Data.Bifunctor.Bifunctor (Control.Lens.Internal.Getter.AlongsideLeft f)
+ Control.Lens.Internal.Getter: instance GHC.Base.Functor f => Data.Bifunctor.Bifunctor (Control.Lens.Internal.Getter.AlongsideRight f)
+ Control.Lens.Internal.Getter: instance GHC.Base.Functor f => GHC.Base.Functor (Control.Lens.Internal.Getter.AlongsideLeft f b)
+ Control.Lens.Internal.Getter: instance GHC.Base.Functor f => GHC.Base.Functor (Control.Lens.Internal.Getter.AlongsideRight f a)
+ Control.Lens.Internal.Getter: instance GHC.Read.Read (f (a, b)) => GHC.Read.Read (Control.Lens.Internal.Getter.AlongsideLeft f b a)
+ Control.Lens.Internal.Getter: instance GHC.Read.Read (f (a, b)) => GHC.Read.Read (Control.Lens.Internal.Getter.AlongsideRight f a b)
+ Control.Lens.Internal.Getter: instance GHC.Show.Show (f (a, b)) => GHC.Show.Show (Control.Lens.Internal.Getter.AlongsideLeft f b a)
+ Control.Lens.Internal.Getter: instance GHC.Show.Show (f (a, b)) => GHC.Show.Show (Control.Lens.Internal.Getter.AlongsideRight f a b)
+ Control.Lens.Internal.Indexed: Indexed :: (i -> a -> b) -> Indexed i a b
+ Control.Lens.Internal.Indexed: Indexing :: (Int -> (Int, f a)) -> Indexing f a
+ Control.Lens.Internal.Indexed: Indexing64 :: (Int64 -> (Int64, f a)) -> Indexing64 f a
+ Control.Lens.Internal.Indexed: instance (i ~ j) => Control.Lens.Internal.Indexed.Indexable i (Control.Lens.Internal.Indexed.Indexed j)
+ Control.Lens.Internal.Indexed: instance Control.Arrow.Arrow (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Control.Arrow.ArrowApply (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Control.Arrow.ArrowChoice (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Control.Arrow.ArrowLoop (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Control.Category.Category (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Control.Lens.Internal.Indexed.Conjoined (->)
+ Control.Lens.Internal.Indexed: instance Control.Lens.Internal.Indexed.Conjoined (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Control.Lens.Internal.Indexed.Indexable i (->)
+ Control.Lens.Internal.Indexed: instance Control.Monad.Fix.MonadFix (Control.Lens.Internal.Indexed.Indexed i a)
+ Control.Lens.Internal.Indexed: instance Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Indexed.Indexed i a)
+ Control.Lens.Internal.Indexed: instance Data.Functor.Bind.Class.Apply f => Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Indexed.Indexing f)
+ Control.Lens.Internal.Indexed: instance Data.Functor.Bind.Class.Apply f => Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Indexed.Indexing64 f)
+ Control.Lens.Internal.Indexed: instance Data.Functor.Bind.Class.Bind (Control.Lens.Internal.Indexed.Indexed i a)
+ Control.Lens.Internal.Indexed: instance Data.Functor.Contravariant.Contravariant f => Data.Functor.Contravariant.Contravariant (Control.Lens.Internal.Indexed.Indexing f)
+ Control.Lens.Internal.Indexed: instance Data.Functor.Contravariant.Contravariant f => Data.Functor.Contravariant.Contravariant (Control.Lens.Internal.Indexed.Indexing64 f)
+ Control.Lens.Internal.Indexed: instance Data.Profunctor.Choice (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Data.Profunctor.Costrong (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Data.Profunctor.Rep.Corepresentable (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Data.Profunctor.Rep.Representable (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Data.Profunctor.Sieve.Cosieve (Control.Lens.Internal.Indexed.Indexed i) ((,) i)
+ Control.Lens.Internal.Indexed: instance Data.Profunctor.Sieve.Sieve (Control.Lens.Internal.Indexed.Indexed i) ((->) i)
+ Control.Lens.Internal.Indexed: instance Data.Profunctor.Strong (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance Data.Profunctor.Unsafe.Profunctor (Control.Lens.Internal.Indexed.Indexed i)
+ Control.Lens.Internal.Indexed: instance GHC.Base.Applicative (Control.Lens.Internal.Indexed.Indexed i a)
+ Control.Lens.Internal.Indexed: instance GHC.Base.Applicative f => GHC.Base.Applicative (Control.Lens.Internal.Indexed.Indexing f)
+ Control.Lens.Internal.Indexed: instance GHC.Base.Applicative f => GHC.Base.Applicative (Control.Lens.Internal.Indexed.Indexing64 f)
+ Control.Lens.Internal.Indexed: instance GHC.Base.Functor (Control.Lens.Internal.Indexed.Indexed i a)
+ Control.Lens.Internal.Indexed: instance GHC.Base.Functor f => GHC.Base.Functor (Control.Lens.Internal.Indexed.Indexing f)
+ Control.Lens.Internal.Indexed: instance GHC.Base.Functor f => GHC.Base.Functor (Control.Lens.Internal.Indexed.Indexing64 f)
+ Control.Lens.Internal.Indexed: instance GHC.Base.Monad (Control.Lens.Internal.Indexed.Indexed i a)
+ Control.Lens.Internal.Iso: Exchange :: (s -> a) -> (b -> t) -> Exchange a b s t
+ Control.Lens.Internal.Iso: instance Control.Lens.Internal.Iso.Reversing (Data.Sequence.Seq a)
+ Control.Lens.Internal.Iso: instance Control.Lens.Internal.Iso.Reversing (Data.Vector.Vector a)
+ Control.Lens.Internal.Iso: instance Control.Lens.Internal.Iso.Reversing Data.ByteString.Internal.ByteString
+ Control.Lens.Internal.Iso: instance Control.Lens.Internal.Iso.Reversing Data.ByteString.Lazy.Internal.ByteString
+ Control.Lens.Internal.Iso: instance Control.Lens.Internal.Iso.Reversing Data.Text.Internal.Lazy.Text
+ Control.Lens.Internal.Iso: instance Control.Lens.Internal.Iso.Reversing Data.Text.Internal.Text
+ Control.Lens.Internal.Iso: instance Control.Lens.Internal.Iso.Reversing [a]
+ Control.Lens.Internal.Iso: instance Data.Primitive.Types.Prim a => Control.Lens.Internal.Iso.Reversing (Data.Vector.Primitive.Vector a)
+ Control.Lens.Internal.Iso: instance Data.Profunctor.Unsafe.Profunctor (Control.Lens.Internal.Iso.Exchange a b)
+ Control.Lens.Internal.Iso: instance Data.Vector.Unboxed.Base.Unbox a => Control.Lens.Internal.Iso.Reversing (Data.Vector.Unboxed.Base.Vector a)
+ Control.Lens.Internal.Iso: instance Foreign.Storable.Storable a => Control.Lens.Internal.Iso.Reversing (Data.Vector.Storable.Vector a)
+ Control.Lens.Internal.Iso: instance GHC.Base.Functor (Control.Lens.Internal.Iso.Exchange a b s)
+ Control.Lens.Internal.Level: Deepening :: (forall r. Int -> (Level i a -> Bool -> r) -> r) -> Deepening i a
+ Control.Lens.Internal.Level: Flows :: ([Level i b] -> a) -> Flows i b a
+ Control.Lens.Internal.Level: One :: i -> a -> Level i a
+ Control.Lens.Internal.Level: Two :: {-# UNPACK #-} !Word -> !(Level i a) -> !(Level i a) -> Level i a
+ Control.Lens.Internal.Level: Zero :: Level i a
+ Control.Lens.Internal.Level: instance (GHC.Classes.Eq i, GHC.Classes.Eq a) => GHC.Classes.Eq (Control.Lens.Internal.Level.Level i a)
+ Control.Lens.Internal.Level: instance (GHC.Classes.Ord i, GHC.Classes.Ord a) => GHC.Classes.Ord (Control.Lens.Internal.Level.Level i a)
+ Control.Lens.Internal.Level: instance (GHC.Read.Read i, GHC.Read.Read a) => GHC.Read.Read (Control.Lens.Internal.Level.Level i a)
+ Control.Lens.Internal.Level: instance (GHC.Show.Show i, GHC.Show.Show a) => GHC.Show.Show (Control.Lens.Internal.Level.Level i a)
+ Control.Lens.Internal.Level: instance Data.Foldable.Foldable (Control.Lens.Internal.Level.Level i)
+ Control.Lens.Internal.Level: instance Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Level.Flows i b)
+ Control.Lens.Internal.Level: instance Data.Semigroup.Semigroup (Control.Lens.Internal.Level.Deepening i a)
+ Control.Lens.Internal.Level: instance Data.Traversable.Traversable (Control.Lens.Internal.Level.Level i)
+ Control.Lens.Internal.Level: instance GHC.Base.Applicative (Control.Lens.Internal.Level.Flows i b)
+ Control.Lens.Internal.Level: instance GHC.Base.Functor (Control.Lens.Internal.Level.Flows i b)
+ Control.Lens.Internal.Level: instance GHC.Base.Functor (Control.Lens.Internal.Level.Level i)
+ Control.Lens.Internal.Level: instance GHC.Base.Monoid (Control.Lens.Internal.Level.Deepening i a)
+ Control.Lens.Internal.Magma: Mafic :: Int -> (Int -> Magma Int t b a) -> Mafic a b t
+ Control.Lens.Internal.Magma: Magma :: i -> a -> Magma i b b a
+ Control.Lens.Internal.Magma: MagmaAp :: Magma i (x -> y) b a -> Magma i x b a -> Magma i y b a
+ Control.Lens.Internal.Magma: MagmaFmap :: (x -> y) -> Magma i x b a -> Magma i y b a
+ Control.Lens.Internal.Magma: MagmaPure :: x -> Magma i x b a
+ Control.Lens.Internal.Magma: Molten :: Magma i t b a -> Molten i a b t
+ Control.Lens.Internal.Magma: TakingWhile :: Bool -> t -> (Bool -> Magma () t b (Corep p a)) -> TakingWhile p a b t
+ Control.Lens.Internal.Magma: instance (GHC.Show.Show i, GHC.Show.Show a) => GHC.Show.Show (Control.Lens.Internal.Magma.Magma i t b a)
+ Control.Lens.Internal.Magma: instance (a ~ b) => Control.Comonad.Comonad (Control.Lens.Internal.Magma.Molten i a b)
+ Control.Lens.Internal.Magma: instance Control.Lens.Internal.Bazaar.Bizarre (Control.Lens.Internal.Indexed.Indexed GHC.Types.Int) Control.Lens.Internal.Magma.Mafic
+ Control.Lens.Internal.Magma: instance Control.Lens.Internal.Bazaar.Bizarre (Control.Lens.Internal.Indexed.Indexed i) (Control.Lens.Internal.Magma.Molten i)
+ Control.Lens.Internal.Magma: instance Control.Lens.Internal.Context.IndexedComonad (Control.Lens.Internal.Magma.Molten i)
+ Control.Lens.Internal.Magma: instance Control.Lens.Internal.Context.IndexedFunctor (Control.Lens.Internal.Magma.Molten i)
+ Control.Lens.Internal.Magma: instance Control.Lens.Internal.Context.IndexedFunctor (Control.Lens.Internal.Magma.TakingWhile p f)
+ Control.Lens.Internal.Magma: instance Control.Lens.Internal.Context.IndexedFunctor Control.Lens.Internal.Magma.Mafic
+ Control.Lens.Internal.Magma: instance Control.Lens.Internal.Context.Sellable (->) Control.Lens.Internal.Magma.Mafic
+ Control.Lens.Internal.Magma: instance Control.Lens.Internal.Context.Sellable (Control.Lens.Internal.Indexed.Indexed i) (Control.Lens.Internal.Magma.Molten i)
+ Control.Lens.Internal.Magma: instance Data.Foldable.Foldable (Control.Lens.Internal.Magma.Magma i t b)
+ Control.Lens.Internal.Magma: instance Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Magma.Mafic a b)
+ Control.Lens.Internal.Magma: instance Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Magma.Molten i a b)
+ Control.Lens.Internal.Magma: instance Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Magma.TakingWhile p f a b)
+ Control.Lens.Internal.Magma: instance Data.Functor.Contravariant.Contravariant f => Data.Functor.Contravariant.Contravariant (Control.Lens.Internal.Magma.TakingWhile p f a b)
+ Control.Lens.Internal.Magma: instance Data.Profunctor.Rep.Corepresentable p => Control.Lens.Internal.Bazaar.Bizarre p (Control.Lens.Internal.Magma.TakingWhile p g)
+ Control.Lens.Internal.Magma: instance Data.Traversable.Traversable (Control.Lens.Internal.Magma.Magma i t b)
+ Control.Lens.Internal.Magma: instance GHC.Base.Applicative (Control.Lens.Internal.Magma.Mafic a b)
+ Control.Lens.Internal.Magma: instance GHC.Base.Applicative (Control.Lens.Internal.Magma.Molten i a b)
+ Control.Lens.Internal.Magma: instance GHC.Base.Applicative (Control.Lens.Internal.Magma.TakingWhile p f a b)
+ Control.Lens.Internal.Magma: instance GHC.Base.Functor (Control.Lens.Internal.Magma.Mafic a b)
+ Control.Lens.Internal.Magma: instance GHC.Base.Functor (Control.Lens.Internal.Magma.Magma i t b)
+ Control.Lens.Internal.Magma: instance GHC.Base.Functor (Control.Lens.Internal.Magma.Molten i a b)
+ Control.Lens.Internal.Magma: instance GHC.Base.Functor (Control.Lens.Internal.Magma.TakingWhile p f a b)
+ Control.Lens.Internal.Prism: Market :: (b -> t) -> (s -> Either t a) -> Market a b s t
+ Control.Lens.Internal.Prism: instance Data.Profunctor.Choice (Control.Lens.Internal.Prism.Market a b)
+ Control.Lens.Internal.Prism: instance Data.Profunctor.Unsafe.Profunctor (Control.Lens.Internal.Prism.Market a b)
+ Control.Lens.Internal.Prism: instance GHC.Base.Functor (Control.Lens.Internal.Prism.Market a b s)
+ Control.Lens.Internal.PrismTH: instance GHC.Classes.Eq Control.Lens.Internal.PrismTH.NCon
+ Control.Lens.Internal.PrismTH: instance Language.Haskell.TH.Lens.HasTypeVars Control.Lens.Internal.PrismTH.NCon
+ Control.Lens.Internal.Review: instance (Data.Profunctor.Unsafe.Profunctor p, Data.Bifunctor.Bifunctor p) => Control.Lens.Internal.Review.Reviewable p
+ Control.Lens.Internal.Setter: instance (Control.Lens.Internal.Setter.Settable f, Control.Lens.Internal.Setter.Settable g) => Control.Lens.Internal.Setter.Settable (Data.Functor.Compose.Compose f g)
+ Control.Lens.Internal.Setter: instance Control.Lens.Internal.Setter.Settable Data.Functor.Identity.Identity
+ Control.Lens.Internal.Setter: instance Control.Lens.Internal.Setter.Settable f => Control.Lens.Internal.Setter.Settable (Control.Applicative.Backwards.Backwards f)
+ Control.Lens.Internal.Zoom: Effect :: m r -> Effect m r a
+ Control.Lens.Internal.Zoom: EffectRWS :: (st -> m (s, st, w)) -> EffectRWS w st m s a
+ Control.Lens.Internal.Zoom: Err :: Either e a -> Err e a
+ Control.Lens.Internal.Zoom: Focusing :: m (s, a) -> Focusing m s a
+ Control.Lens.Internal.Zoom: FocusingErr :: k (Err e s) a -> FocusingErr e k s a
+ Control.Lens.Internal.Zoom: FocusingMay :: k (May s) a -> FocusingMay k s a
+ Control.Lens.Internal.Zoom: FocusingOn :: k (f s) a -> FocusingOn f k s a
+ Control.Lens.Internal.Zoom: FocusingPlus :: k (s, w) a -> FocusingPlus w k s a
+ Control.Lens.Internal.Zoom: FocusingWith :: m (s, a, w) -> FocusingWith w m s a
+ Control.Lens.Internal.Zoom: May :: Maybe a -> May a
+ Control.Lens.Internal.Zoom: instance (Data.Functor.Bind.Class.Apply m, Data.Semigroup.Semigroup r) => Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Zoom.Effect m r)
+ Control.Lens.Internal.Zoom: instance (Data.Functor.Bind.Class.Apply m, Data.Semigroup.Semigroup r) => Data.Semigroup.Semigroup (Control.Lens.Internal.Zoom.Effect m r a)
+ Control.Lens.Internal.Zoom: instance (Data.Semigroup.Semigroup s, Data.Semigroup.Semigroup w, Data.Functor.Bind.Class.Bind m) => Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Zoom.EffectRWS w st m s)
+ Control.Lens.Internal.Zoom: instance (GHC.Base.Monad m, Data.Semigroup.Semigroup s) => Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Zoom.Focusing m s)
+ Control.Lens.Internal.Zoom: instance (GHC.Base.Monad m, Data.Semigroup.Semigroup s, Data.Semigroup.Semigroup w) => Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Zoom.FocusingWith w m s)
+ Control.Lens.Internal.Zoom: instance (GHC.Base.Monad m, GHC.Base.Monoid r) => GHC.Base.Applicative (Control.Lens.Internal.Zoom.Effect m r)
+ Control.Lens.Internal.Zoom: instance (GHC.Base.Monad m, GHC.Base.Monoid r) => GHC.Base.Monoid (Control.Lens.Internal.Zoom.Effect m r a)
+ Control.Lens.Internal.Zoom: instance (GHC.Base.Monad m, GHC.Base.Monoid s) => GHC.Base.Applicative (Control.Lens.Internal.Zoom.Focusing m s)
+ Control.Lens.Internal.Zoom: instance (GHC.Base.Monad m, GHC.Base.Monoid s, GHC.Base.Monoid w) => GHC.Base.Applicative (Control.Lens.Internal.Zoom.FocusingWith w m s)
+ Control.Lens.Internal.Zoom: instance (GHC.Base.Monoid s, GHC.Base.Monoid w, GHC.Base.Monad m) => GHC.Base.Applicative (Control.Lens.Internal.Zoom.EffectRWS w st m s)
+ Control.Lens.Internal.Zoom: instance Data.Functor.Bind.Class.Apply (k (Control.Lens.Internal.Zoom.Err e s)) => Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Zoom.FocusingErr e k s)
+ Control.Lens.Internal.Zoom: instance Data.Functor.Bind.Class.Apply (k (Control.Lens.Internal.Zoom.May s)) => Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Zoom.FocusingMay k s)
+ Control.Lens.Internal.Zoom: instance Data.Functor.Bind.Class.Apply (k (f s)) => Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Zoom.FocusingOn f k s)
+ Control.Lens.Internal.Zoom: instance Data.Functor.Bind.Class.Apply (k (s, w)) => Data.Functor.Bind.Class.Apply (Control.Lens.Internal.Zoom.FocusingPlus w k s)
+ Control.Lens.Internal.Zoom: instance Data.Functor.Contravariant.Contravariant (Control.Lens.Internal.Zoom.Effect m r)
+ Control.Lens.Internal.Zoom: instance Data.Functor.Contravariant.Contravariant (Control.Lens.Internal.Zoom.EffectRWS w st m s)
+ Control.Lens.Internal.Zoom: instance Data.Semigroup.Semigroup a => Data.Semigroup.Semigroup (Control.Lens.Internal.Zoom.Err e a)
+ Control.Lens.Internal.Zoom: instance Data.Semigroup.Semigroup a => Data.Semigroup.Semigroup (Control.Lens.Internal.Zoom.May a)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Applicative (k (Control.Lens.Internal.Zoom.Err e s)) => GHC.Base.Applicative (Control.Lens.Internal.Zoom.FocusingErr e k s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Applicative (k (Control.Lens.Internal.Zoom.May s)) => GHC.Base.Applicative (Control.Lens.Internal.Zoom.FocusingMay k s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Applicative (k (f s)) => GHC.Base.Applicative (Control.Lens.Internal.Zoom.FocusingOn f k s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Applicative (k (s, w)) => GHC.Base.Applicative (Control.Lens.Internal.Zoom.FocusingPlus w k s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Functor (Control.Lens.Internal.Zoom.Effect m r)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Functor (Control.Lens.Internal.Zoom.EffectRWS w st m s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Functor (k (Control.Lens.Internal.Zoom.Err e s)) => GHC.Base.Functor (Control.Lens.Internal.Zoom.FocusingErr e k s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Functor (k (Control.Lens.Internal.Zoom.May s)) => GHC.Base.Functor (Control.Lens.Internal.Zoom.FocusingMay k s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Functor (k (f s)) => GHC.Base.Functor (Control.Lens.Internal.Zoom.FocusingOn f k s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Functor (k (s, w)) => GHC.Base.Functor (Control.Lens.Internal.Zoom.FocusingPlus w k s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Monad m => GHC.Base.Functor (Control.Lens.Internal.Zoom.Focusing m s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Monad m => GHC.Base.Functor (Control.Lens.Internal.Zoom.FocusingWith w m s)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Monoid a => GHC.Base.Monoid (Control.Lens.Internal.Zoom.Err e a)
+ Control.Lens.Internal.Zoom: instance GHC.Base.Monoid a => GHC.Base.Monoid (Control.Lens.Internal.Zoom.May a)
+ Control.Lens.Iso: instance Control.Lens.Iso.Strict (Control.Monad.Trans.RWS.Lazy.RWST r w s m a) (Control.Monad.Trans.RWS.Strict.RWST r w s m a)
+ Control.Lens.Iso: instance Control.Lens.Iso.Strict (Control.Monad.Trans.State.Lazy.StateT s m a) (Control.Monad.Trans.State.Strict.StateT s m a)
+ Control.Lens.Iso: instance Control.Lens.Iso.Strict (Control.Monad.Trans.Writer.Lazy.WriterT w m a) (Control.Monad.Trans.Writer.Strict.WriterT w m a)
+ Control.Lens.Iso: instance Control.Lens.Iso.Strict Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Internal.ByteString
+ Control.Lens.Iso: instance Control.Lens.Iso.Strict Data.Text.Internal.Lazy.Text Data.Text.Internal.Text
+ Control.Lens.Iso: instance Control.Lens.Iso.Swapped (,)
+ Control.Lens.Iso: instance Control.Lens.Iso.Swapped Data.Either.Either
+ Control.Lens.Lens: Context :: (b -> t) -> a -> Context a b t
+ Control.Lens.Lens: infix 4 <#%=
+ Control.Lens.Lens: infixl 1 &~
+ Control.Lens.Lens: infixl 8 ^#
+ Control.Lens.Lens: infixr 2 <<~
+ Control.Lens.Lens: infixr 4 <#%~
+ Control.Lens.Operators: infix 4 %@=
+ Control.Lens.Operators: infixl 1 ??
+ Control.Lens.Operators: infixl 5 |>
+ Control.Lens.Operators: infixl 8 ^#
+ Control.Lens.Operators: infixr 2 <~
+ Control.Lens.Operators: infixr 4 %@~
+ Control.Lens.Operators: infixr 5 <|
+ Control.Lens.Operators: infixr 8 #
+ Control.Lens.Operators: infixr 9 ...
+ Control.Lens.Plated: infixr 9 ...
+ Control.Lens.Plated: instance (Control.Lens.Plated.GPlated a f, Control.Lens.Plated.GPlated a g) => Control.Lens.Plated.GPlated a (f GHC.Generics.:*: g)
+ Control.Lens.Plated: instance (Control.Lens.Plated.GPlated a f, Control.Lens.Plated.GPlated a g) => Control.Lens.Plated.GPlated a (f GHC.Generics.:+: g)
+ Control.Lens.Plated: instance (Data.Traversable.Traversable f, Data.Traversable.Traversable m) => Control.Lens.Plated.Plated (Control.Monad.Trans.Free.FreeT f m a)
+ Control.Lens.Plated: instance (Data.Traversable.Traversable f, Data.Traversable.Traversable w) => Control.Lens.Plated.Plated (Control.Comonad.Trans.Cofree.CofreeT f w a)
+ Control.Lens.Plated: instance Control.Lens.Plated.GPlated a (GHC.Generics.K1 i a)
+ Control.Lens.Plated: instance Control.Lens.Plated.GPlated a (GHC.Generics.K1 i b)
+ Control.Lens.Plated: instance Control.Lens.Plated.GPlated a GHC.Generics.U1
+ Control.Lens.Plated: instance Control.Lens.Plated.GPlated a GHC.Generics.V1
+ Control.Lens.Plated: instance Control.Lens.Plated.GPlated a f => Control.Lens.Plated.GPlated a (GHC.Generics.M1 i c f)
+ Control.Lens.Plated: instance Control.Lens.Plated.Plated (Data.Tree.Tree a)
+ Control.Lens.Plated: instance Control.Lens.Plated.Plated Language.Haskell.TH.Syntax.Con
+ Control.Lens.Plated: instance Control.Lens.Plated.Plated Language.Haskell.TH.Syntax.Dec
+ Control.Lens.Plated: instance Control.Lens.Plated.Plated Language.Haskell.TH.Syntax.Exp
+ Control.Lens.Plated: instance Control.Lens.Plated.Plated Language.Haskell.TH.Syntax.Pat
+ Control.Lens.Plated: instance Control.Lens.Plated.Plated Language.Haskell.TH.Syntax.Stmt
+ Control.Lens.Plated: instance Control.Lens.Plated.Plated Language.Haskell.TH.Syntax.Type
+ Control.Lens.Plated: instance Control.Lens.Plated.Plated [a]
+ Control.Lens.Plated: instance Data.Traversable.Traversable f => Control.Lens.Plated.Plated (Control.Comonad.Cofree.Cofree f a)
+ Control.Lens.Plated: instance Data.Traversable.Traversable f => Control.Lens.Plated.Plated (Control.Monad.Free.Church.F f a)
+ Control.Lens.Plated: instance Data.Traversable.Traversable f => Control.Lens.Plated.Plated (Control.Monad.Free.Free f a)
+ Control.Lens.Reified: Fold :: Fold s a -> ReifiedFold s a
+ Control.Lens.Reified: Getter :: Getter s a -> ReifiedGetter s a
+ Control.Lens.Reified: IndexedFold :: IndexedFold i s a -> ReifiedIndexedFold i s a
+ Control.Lens.Reified: IndexedGetter :: IndexedGetter i s a -> ReifiedIndexedGetter i s a
+ Control.Lens.Reified: IndexedLens :: IndexedLens i s t a b -> ReifiedIndexedLens i s t a b
+ Control.Lens.Reified: IndexedSetter :: IndexedSetter i s t a b -> ReifiedIndexedSetter i s t a b
+ Control.Lens.Reified: IndexedTraversal :: IndexedTraversal i s t a b -> ReifiedIndexedTraversal i s t a b
+ Control.Lens.Reified: Iso :: Iso s t a b -> ReifiedIso s t a b
+ Control.Lens.Reified: Lens :: Lens s t a b -> ReifiedLens s t a b
+ Control.Lens.Reified: Prism :: Prism s t a b -> ReifiedPrism s t a b
+ Control.Lens.Reified: Setter :: Setter s t a b -> ReifiedSetter s t a b
+ Control.Lens.Reified: Traversal :: Traversal s t a b -> ReifiedTraversal s t a b
+ Control.Lens.Reified: instance Control.Arrow.Arrow Control.Lens.Reified.ReifiedFold
+ Control.Lens.Reified: instance Control.Arrow.Arrow Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Control.Arrow.ArrowApply Control.Lens.Reified.ReifiedFold
+ Control.Lens.Reified: instance Control.Arrow.ArrowApply Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Control.Arrow.ArrowChoice Control.Lens.Reified.ReifiedFold
+ Control.Lens.Reified: instance Control.Arrow.ArrowChoice Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Control.Arrow.ArrowLoop Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Control.Category.Category Control.Lens.Reified.ReifiedFold
+ Control.Lens.Reified: instance Control.Category.Category Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Control.Lens.Internal.Indexed.Conjoined Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Control.Monad.Reader.Class.MonadReader s (Control.Lens.Reified.ReifiedFold s)
+ Control.Lens.Reified: instance Control.Monad.Reader.Class.MonadReader s (Control.Lens.Reified.ReifiedGetter s)
+ Control.Lens.Reified: instance Data.Distributive.Distributive (Control.Lens.Reified.ReifiedGetter s)
+ Control.Lens.Reified: instance Data.Functor.Alt.Alt (Control.Lens.Reified.ReifiedFold s)
+ Control.Lens.Reified: instance Data.Functor.Alt.Alt (Control.Lens.Reified.ReifiedIndexedFold i s)
+ Control.Lens.Reified: instance Data.Functor.Bind.Class.Apply (Control.Lens.Reified.ReifiedFold s)
+ Control.Lens.Reified: instance Data.Functor.Bind.Class.Apply (Control.Lens.Reified.ReifiedGetter s)
+ Control.Lens.Reified: instance Data.Functor.Bind.Class.Bind (Control.Lens.Reified.ReifiedFold s)
+ Control.Lens.Reified: instance Data.Functor.Bind.Class.Bind (Control.Lens.Reified.ReifiedGetter s)
+ Control.Lens.Reified: instance Data.Functor.Plus.Plus (Control.Lens.Reified.ReifiedFold s)
+ Control.Lens.Reified: instance Data.Functor.Plus.Plus (Control.Lens.Reified.ReifiedIndexedFold i s)
+ Control.Lens.Reified: instance Data.Profunctor.Choice Control.Lens.Reified.ReifiedFold
+ Control.Lens.Reified: instance Data.Profunctor.Choice Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Data.Profunctor.Costrong Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Data.Profunctor.Rep.Corepresentable Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Data.Profunctor.Rep.Representable (Control.Lens.Reified.ReifiedIndexedFold i)
+ Control.Lens.Reified: instance Data.Profunctor.Rep.Representable (Control.Lens.Reified.ReifiedIndexedGetter i)
+ Control.Lens.Reified: instance Data.Profunctor.Rep.Representable Control.Lens.Reified.ReifiedFold
+ Control.Lens.Reified: instance Data.Profunctor.Rep.Representable Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Data.Profunctor.Sieve.Cosieve Control.Lens.Reified.ReifiedGetter Data.Functor.Identity.Identity
+ Control.Lens.Reified: instance Data.Profunctor.Sieve.Sieve (Control.Lens.Reified.ReifiedIndexedFold i) (Data.Functor.Compose.Compose [] ((,) i))
+ Control.Lens.Reified: instance Data.Profunctor.Sieve.Sieve (Control.Lens.Reified.ReifiedIndexedGetter i) ((,) i)
+ Control.Lens.Reified: instance Data.Profunctor.Sieve.Sieve Control.Lens.Reified.ReifiedFold []
+ Control.Lens.Reified: instance Data.Profunctor.Sieve.Sieve Control.Lens.Reified.ReifiedGetter Data.Functor.Identity.Identity
+ Control.Lens.Reified: instance Data.Profunctor.Strong (Control.Lens.Reified.ReifiedIndexedFold i)
+ Control.Lens.Reified: instance Data.Profunctor.Strong (Control.Lens.Reified.ReifiedIndexedGetter i)
+ Control.Lens.Reified: instance Data.Profunctor.Strong Control.Lens.Reified.ReifiedFold
+ Control.Lens.Reified: instance Data.Profunctor.Strong Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Data.Profunctor.Unsafe.Profunctor (Control.Lens.Reified.ReifiedIndexedFold i)
+ Control.Lens.Reified: instance Data.Profunctor.Unsafe.Profunctor (Control.Lens.Reified.ReifiedIndexedGetter i)
+ Control.Lens.Reified: instance Data.Profunctor.Unsafe.Profunctor Control.Lens.Reified.ReifiedFold
+ Control.Lens.Reified: instance Data.Profunctor.Unsafe.Profunctor Control.Lens.Reified.ReifiedGetter
+ Control.Lens.Reified: instance Data.Semigroup.Semigroup (Control.Lens.Reified.ReifiedFold s a)
+ Control.Lens.Reified: instance Data.Semigroup.Semigroup (Control.Lens.Reified.ReifiedIndexedFold i s a)
+ Control.Lens.Reified: instance Data.Semigroup.Semigroup i => Data.Functor.Bind.Class.Apply (Control.Lens.Reified.ReifiedIndexedGetter i s)
+ Control.Lens.Reified: instance Data.Semigroup.Semigroup s => Data.Functor.Extend.Extend (Control.Lens.Reified.ReifiedGetter s)
+ Control.Lens.Reified: instance GHC.Base.Alternative (Control.Lens.Reified.ReifiedFold s)
+ Control.Lens.Reified: instance GHC.Base.Applicative (Control.Lens.Reified.ReifiedFold s)
+ Control.Lens.Reified: instance GHC.Base.Applicative (Control.Lens.Reified.ReifiedGetter s)
+ Control.Lens.Reified: instance GHC.Base.Functor (Control.Lens.Reified.ReifiedFold s)
+ Control.Lens.Reified: instance GHC.Base.Functor (Control.Lens.Reified.ReifiedGetter s)
+ Control.Lens.Reified: instance GHC.Base.Functor (Control.Lens.Reified.ReifiedIndexedFold i s)
+ Control.Lens.Reified: instance GHC.Base.Functor (Control.Lens.Reified.ReifiedIndexedGetter i s)
+ Control.Lens.Reified: instance GHC.Base.Monad (Control.Lens.Reified.ReifiedFold s)
+ Control.Lens.Reified: instance GHC.Base.Monad (Control.Lens.Reified.ReifiedGetter s)
+ Control.Lens.Reified: instance GHC.Base.MonadPlus (Control.Lens.Reified.ReifiedFold s)
+ Control.Lens.Reified: instance GHC.Base.Monoid (Control.Lens.Reified.ReifiedFold s a)
+ Control.Lens.Reified: instance GHC.Base.Monoid (Control.Lens.Reified.ReifiedIndexedFold i s a)
+ Control.Lens.Reified: instance GHC.Base.Monoid s => Control.Comonad.Comonad (Control.Lens.Reified.ReifiedGetter s)
+ Control.Lens.Reified: instance GHC.Base.Monoid s => Control.Comonad.ComonadApply (Control.Lens.Reified.ReifiedGetter s)
+ Control.Lens.Review: infixr 8 #
+ Control.Lens.Setter: Identity :: a -> Identity a
+ Control.Lens.Setter: infix 4 .@=
+ Control.Lens.Setter: infixr 2 <~
+ Control.Lens.Setter: infixr 4 .@~
+ Control.Lens.TH: MethodName :: Name -> Name -> DefName
+ Control.Lens.TH: TopName :: Name -> DefName
+ Control.Lens.Traversal: Bazaar :: (forall f. Applicative f => p a (f b) -> f t) -> Bazaar p a b t
+ Control.Lens.Traversal: Bazaar1 :: (forall f. Apply f => p a (f b) -> f t) -> Bazaar1 p a b t
+ Control.Lens.Traversal: infixl 5 `failing`
+ Control.Lens.Traversal: instance Control.Lens.Traversal.TraverseMax GHC.Types.Int Data.IntMap.Base.IntMap
+ Control.Lens.Traversal: instance Control.Lens.Traversal.TraverseMin GHC.Types.Int Data.IntMap.Base.IntMap
+ Control.Lens.Traversal: instance GHC.Classes.Ord k => Control.Lens.Traversal.TraverseMax k (Data.Map.Base.Map k)
+ Control.Lens.Traversal: instance GHC.Classes.Ord k => Control.Lens.Traversal.TraverseMin k (Data.Map.Base.Map k)
+ Control.Lens.Tuple: instance (Control.Lens.Tuple.GT (Control.Lens.Tuple.GSize s) n ~ Control.Lens.Tuple.F, n' ~ Control.Lens.Tuple.Subtract (Control.Lens.Tuple.GSize s) n, Control.Lens.Tuple.GIxed n' s' t' a b) => Control.Lens.Tuple.GIxed' Control.Lens.Tuple.F n s s' s t' a b
+ Control.Lens.Tuple: instance (Control.Lens.Tuple.GT (Control.Lens.Tuple.GSize s) n ~ Control.Lens.Tuple.T, Control.Lens.Tuple.GT (Control.Lens.Tuple.GSize t) n ~ Control.Lens.Tuple.T, Control.Lens.Tuple.GIxed n s t a b) => Control.Lens.Tuple.GIxed' Control.Lens.Tuple.T n s s' t s' a b
+ Control.Lens.Tuple: instance (p ~ Control.Lens.Tuple.GT (Control.Lens.Tuple.GSize s) n, p ~ Control.Lens.Tuple.GT (Control.Lens.Tuple.GSize t) n, Control.Lens.Tuple.GIxed' p n s s' t t' a b) => Control.Lens.Tuple.GIxed n (s GHC.Generics.:*: s') (t GHC.Generics.:*: t') a b
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 ((GHC.Generics.:*:) f g p) ((GHC.Generics.:*:) f' g p) (f p) (f' p)
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 (Data.Functor.Identity.Identity a) (Data.Functor.Identity.Identity b) a b
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 (Data.Functor.Product.Product f g a) (Data.Functor.Product.Product f' g a) (f a) (f' a)
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 (a, b) (a', b) a a'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 (a, b, c) (a', b, c) a a'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 (a, b, c, d) (a', b, c, d) a a'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 (a, b, c, d, e) (a', b, c, d, e) a a'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 (a, b, c, d, e, f) (a', b, c, d, e, f) a a'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 (a, b, c, d, e, f, g) (a', b, c, d, e, f, g) a a'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 (a, b, c, d, e, f, g, h) (a', b, c, d, e, f, g, h) a a'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field1 (a, b, c, d, e, f, g, h, i) (a', b, c, d, e, f, g, h, i) a a'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field2 ((GHC.Generics.:*:) f g p) ((GHC.Generics.:*:) f g' p) (g p) (g' p)
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field2 (Data.Functor.Product.Product f g a) (Data.Functor.Product.Product f g' a) (g a) (g' a)
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field2 (a, b) (a, b') b b'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field2 (a, b, c) (a, b', c) b b'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field2 (a, b, c, d) (a, b', c, d) b b'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field2 (a, b, c, d, e) (a, b', c, d, e) b b'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field2 (a, b, c, d, e, f) (a, b', c, d, e, f) b b'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field2 (a, b, c, d, e, f, g) (a, b', c, d, e, f, g) b b'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field2 (a, b, c, d, e, f, g, h) (a, b', c, d, e, f, g, h) b b'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field2 (a, b, c, d, e, f, g, h, i) (a, b', c, d, e, f, g, h, i) b b'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field3 (a, b, c) (a, b, c') c c'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field3 (a, b, c, d) (a, b, c', d) c c'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field3 (a, b, c, d, e) (a, b, c', d, e) c c'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field3 (a, b, c, d, e, f) (a, b, c', d, e, f) c c'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field3 (a, b, c, d, e, f, g) (a, b, c', d, e, f, g) c c'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field3 (a, b, c, d, e, f, g, h) (a, b, c', d, e, f, g, h) c c'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field3 (a, b, c, d, e, f, g, h, i) (a, b, c', d, e, f, g, h, i) c c'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field4 (a, b, c, d) (a, b, c, d') d d'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field4 (a, b, c, d, e) (a, b, c, d', e) d d'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field4 (a, b, c, d, e, f) (a, b, c, d', e, f) d d'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field4 (a, b, c, d, e, f, g) (a, b, c, d', e, f, g) d d'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field4 (a, b, c, d, e, f, g, h) (a, b, c, d', e, f, g, h) d d'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field4 (a, b, c, d, e, f, g, h, i) (a, b, c, d', e, f, g, h, i) d d'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field5 (a, b, c, d, e) (a, b, c, d, e') e e'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field5 (a, b, c, d, e, f) (a, b, c, d, e', f) e e'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field5 (a, b, c, d, e, f, g) (a, b, c, d, e', f, g) e e'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field5 (a, b, c, d, e, f, g, h) (a, b, c, d, e', f, g, h) e e'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field5 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e', f, g, h, i) e e'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field6 (a, b, c, d, e, f) (a, b, c, d, e, f') f f'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field6 (a, b, c, d, e, f, g) (a, b, c, d, e, f', g) f f'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field6 (a, b, c, d, e, f, g, h) (a, b, c, d, e, f', g, h) f f'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field6 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f', g, h, i) f f'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field7 (a, b, c, d, e, f, g) (a, b, c, d, e, f, g') g g'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field7 (a, b, c, d, e, f, g, h) (a, b, c, d, e, f, g', h) g g'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field7 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f, g', h, i) g g'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field8 (a, b, c, d, e, f, g, h) (a, b, c, d, e, f, g, h') h h'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field8 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f, g, h', i) h h'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.Field9 (a, b, c, d, e, f, g, h, i) (a, b, c, d, e, f, g, h, i') i i'
+ Control.Lens.Tuple: instance Control.Lens.Tuple.GIxed Control.Lens.Tuple.N0 (GHC.Generics.K1 i a) (GHC.Generics.K1 i b) a b
+ Control.Lens.Tuple: instance Control.Lens.Tuple.GIxed n s t a b => Control.Lens.Tuple.GIxed n (GHC.Generics.M1 i c s) (GHC.Generics.M1 i c t) a b
+ Control.Lens.Type: type AReview t b = Optic' Tagged Identity t b
+ Control.Lens.Wrapped: instance (Control.Lens.Wrapped.Rewrapped s t, Control.Lens.Wrapped.Rewrapped t s) => Control.Lens.Wrapped.Rewrapping s t
+ Control.Lens.Wrapped: instance (Data.Hashable.Class.Hashable a, GHC.Classes.Eq a) => Control.Lens.Wrapped.Wrapped (Data.HashSet.HashSet a)
+ Control.Lens.Wrapped: instance (Data.Hashable.Class.Hashable k, GHC.Classes.Eq k) => Control.Lens.Wrapped.Wrapped (Data.HashMap.Base.HashMap k a)
+ Control.Lens.Wrapped: instance (Data.Primitive.Types.Prim a, t ~ Data.Vector.Primitive.Vector a') => Control.Lens.Wrapped.Rewrapped (Data.Vector.Primitive.Vector a) t
+ Control.Lens.Wrapped: instance (Data.Vector.Unboxed.Base.Unbox a, t ~ Data.Vector.Unboxed.Base.Vector a') => Control.Lens.Wrapped.Rewrapped (Data.Vector.Unboxed.Base.Vector a) t
+ Control.Lens.Wrapped: instance (Foreign.Storable.Storable a, t ~ Data.Vector.Storable.Vector a') => Control.Lens.Wrapped.Rewrapped (Data.Vector.Storable.Vector a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Applicative.Backwards.Backwards g b) => Control.Lens.Wrapped.Rewrapped (Control.Applicative.Backwards.Backwards f a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Applicative.Const a' x') => Control.Lens.Wrapped.Rewrapped (Control.Applicative.Const a x) t
+ Control.Lens.Wrapped: instance (t ~ Control.Applicative.WrappedArrow a' b' c') => Control.Lens.Wrapped.Rewrapped (Control.Applicative.WrappedArrow a b c) t
+ Control.Lens.Wrapped: instance (t ~ Control.Applicative.WrappedMonad m' a') => Control.Lens.Wrapped.Rewrapped (Control.Applicative.WrappedMonad m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Applicative.ZipList b) => Control.Lens.Wrapped.Rewrapped (Control.Applicative.ZipList a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Arrow.ArrowMonad m' a', Control.Arrow.ArrowApply m) => Control.Lens.Wrapped.Rewrapped (Control.Arrow.ArrowMonad m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Arrow.Kleisli m' a' b') => Control.Lens.Wrapped.Rewrapped (Control.Arrow.Kleisli m a b) t
+ Control.Lens.Wrapped: instance (t ~ Control.Comonad.Trans.Traced.TracedT m' w' a') => Control.Lens.Wrapped.Rewrapped (Control.Comonad.Trans.Traced.TracedT m w a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Exception.Base.NoMethodError) => Control.Lens.Wrapped.Rewrapped Control.Exception.Base.NoMethodError t
+ Control.Lens.Wrapped: instance (t ~ Control.Exception.Base.PatternMatchFail) => Control.Lens.Wrapped.Rewrapped Control.Exception.Base.PatternMatchFail t
+ Control.Lens.Wrapped: instance (t ~ Control.Exception.Base.RecConError) => Control.Lens.Wrapped.Rewrapped Control.Exception.Base.RecConError t
+ Control.Lens.Wrapped: instance (t ~ Control.Exception.Base.RecSelError) => Control.Lens.Wrapped.Rewrapped Control.Exception.Base.RecSelError t
+ Control.Lens.Wrapped: instance (t ~ Control.Exception.Base.RecUpdError) => Control.Lens.Wrapped.Rewrapped Control.Exception.Base.RecUpdError t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.Cont.ContT r' m' a') => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.Cont.ContT r m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.Error.ErrorT e' m' a') => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.Error.ErrorT e m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.Identity.IdentityT n b) => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.Identity.IdentityT m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.List.ListT n b) => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.List.ListT m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.Maybe.MaybeT n b) => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.Maybe.MaybeT m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.RWS.Lazy.RWST r' w' s' m' a') => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.RWS.Lazy.RWST r w s m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.RWS.Strict.RWST r' w' s' m' a') => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.RWS.Strict.RWST r w s m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.Reader.ReaderT r n b) => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.Reader.ReaderT r m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.State.Lazy.StateT s' m' a') => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.State.Lazy.StateT s m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.State.Strict.StateT s' m' a') => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.State.Strict.StateT s m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.Writer.Lazy.WriterT w' m' a') => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.Writer.Lazy.WriterT w m a) t
+ Control.Lens.Wrapped: instance (t ~ Control.Monad.Trans.Writer.Strict.WriterT w' m' a') => Control.Lens.Wrapped.Rewrapped (Control.Monad.Trans.Writer.Strict.WriterT w m a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Compose.Compose f' g' a') => Control.Lens.Wrapped.Rewrapped (Data.Functor.Compose.Compose f g a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Constant.Constant a' b') => Control.Lens.Wrapped.Rewrapped (Data.Functor.Constant.Constant a b) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Contravariant.Comparison b) => Control.Lens.Wrapped.Rewrapped (Data.Functor.Contravariant.Comparison a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Contravariant.Compose.Compose f' g' a') => Control.Lens.Wrapped.Rewrapped (Data.Functor.Contravariant.Compose.Compose f g a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Contravariant.Compose.ComposeCF f' g' a') => Control.Lens.Wrapped.Rewrapped (Data.Functor.Contravariant.Compose.ComposeCF f g a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Contravariant.Compose.ComposeFC f' g' a') => Control.Lens.Wrapped.Rewrapped (Data.Functor.Contravariant.Compose.ComposeFC f g a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Contravariant.Equivalence b) => Control.Lens.Wrapped.Rewrapped (Data.Functor.Contravariant.Equivalence a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Contravariant.Op a' b') => Control.Lens.Wrapped.Rewrapped (Data.Functor.Contravariant.Op a b) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Contravariant.Predicate b) => Control.Lens.Wrapped.Rewrapped (Data.Functor.Contravariant.Predicate a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Coproduct.Coproduct f' g' a') => Control.Lens.Wrapped.Rewrapped (Data.Functor.Coproduct.Coproduct f g a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Identity.Identity b) => Control.Lens.Wrapped.Rewrapped (Data.Functor.Identity.Identity a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Functor.Reverse.Reverse g b) => Control.Lens.Wrapped.Rewrapped (Data.Functor.Reverse.Reverse f a) t
+ Control.Lens.Wrapped: instance (t ~ Data.HashMap.Base.HashMap k' a', Data.Hashable.Class.Hashable k, GHC.Classes.Eq k) => Control.Lens.Wrapped.Rewrapped (Data.HashMap.Base.HashMap k a) t
+ Control.Lens.Wrapped: instance (t ~ Data.HashSet.HashSet a', Data.Hashable.Class.Hashable a, GHC.Classes.Eq a) => Control.Lens.Wrapped.Rewrapped (Data.HashSet.HashSet a) t
+ Control.Lens.Wrapped: instance (t ~ Data.IntMap.Base.IntMap a') => Control.Lens.Wrapped.Rewrapped (Data.IntMap.Base.IntMap a) t
+ Control.Lens.Wrapped: instance (t ~ Data.IntSet.Base.IntSet) => Control.Lens.Wrapped.Rewrapped Data.IntSet.Base.IntSet t
+ Control.Lens.Wrapped: instance (t ~ Data.List.NonEmpty.NonEmpty b) => Control.Lens.Wrapped.Rewrapped (Data.List.NonEmpty.NonEmpty a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Map.Base.Map k' a', GHC.Classes.Ord k) => Control.Lens.Wrapped.Rewrapped (Data.Map.Base.Map k a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Monoid.All) => Control.Lens.Wrapped.Rewrapped Data.Monoid.All t
+ Control.Lens.Wrapped: instance (t ~ Data.Monoid.Any) => Control.Lens.Wrapped.Rewrapped Data.Monoid.Any t
+ Control.Lens.Wrapped: instance (t ~ Data.Monoid.Dual b) => Control.Lens.Wrapped.Rewrapped (Data.Monoid.Dual a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Monoid.Endo b) => Control.Lens.Wrapped.Rewrapped (Data.Monoid.Endo b) t
+ Control.Lens.Wrapped: instance (t ~ Data.Monoid.First b) => Control.Lens.Wrapped.Rewrapped (Data.Monoid.First a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Monoid.Last b) => Control.Lens.Wrapped.Rewrapped (Data.Monoid.Last a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Monoid.Product b) => Control.Lens.Wrapped.Rewrapped (Data.Monoid.Product a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Monoid.Sum b) => Control.Lens.Wrapped.Rewrapped (Data.Monoid.Sum a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Semigroup.First b) => Control.Lens.Wrapped.Rewrapped (Data.Semigroup.First a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Semigroup.Last b) => Control.Lens.Wrapped.Rewrapped (Data.Semigroup.Last a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Semigroup.Max b) => Control.Lens.Wrapped.Rewrapped (Data.Semigroup.Max a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Semigroup.Min b) => Control.Lens.Wrapped.Rewrapped (Data.Semigroup.Min a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Semigroup.Option b) => Control.Lens.Wrapped.Rewrapped (Data.Semigroup.Option a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Semigroup.WrappedMonoid b) => Control.Lens.Wrapped.Rewrapped (Data.Semigroup.WrappedMonoid a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Sequence.Seq a') => Control.Lens.Wrapped.Rewrapped (Data.Sequence.Seq a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Set.Base.Set a', GHC.Classes.Ord a) => Control.Lens.Wrapped.Rewrapped (Data.Set.Base.Set a) t
+ Control.Lens.Wrapped: instance (t ~ Data.Vector.Vector a') => Control.Lens.Wrapped.Rewrapped (Data.Vector.Vector a) t
+ Control.Lens.Wrapped: instance (t ~ GHC.Exception.ErrorCall) => Control.Lens.Wrapped.Rewrapped GHC.Exception.ErrorCall t
+ Control.Lens.Wrapped: instance (t ~ GHC.IO.Exception.AssertionFailed) => Control.Lens.Wrapped.Rewrapped GHC.IO.Exception.AssertionFailed t
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Applicative.Backwards.Backwards f a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Applicative.Const a x)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Applicative.WrappedArrow a b c)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Applicative.WrappedMonad m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Applicative.ZipList a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Arrow.ArrowMonad m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Arrow.Kleisli m a b)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Comonad.Trans.Traced.TracedT m w a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.Cont.ContT r m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.Error.ErrorT e m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.Identity.IdentityT m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.List.ListT m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.Maybe.MaybeT m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.RWS.Lazy.RWST r w s m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.RWS.Strict.RWST r w s m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.Reader.ReaderT r m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.State.Lazy.StateT s m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.State.Strict.StateT s m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.Writer.Lazy.WriterT w m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Control.Monad.Trans.Writer.Strict.WriterT w m a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Compose.Compose f g a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Constant.Constant a b)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Contravariant.Comparison a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Contravariant.Compose.Compose f g a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Contravariant.Compose.ComposeCF f g a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Contravariant.Compose.ComposeFC f g a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Contravariant.Equivalence a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Contravariant.Op a b)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Contravariant.Predicate a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Coproduct.Coproduct f g a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Identity.Identity a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Functor.Reverse.Reverse f a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.IntMap.Base.IntMap a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.List.NonEmpty.NonEmpty a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Monoid.Dual a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Monoid.Endo a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Monoid.First a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Monoid.Last a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Monoid.Product a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Monoid.Sum a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Semigroup.First a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Semigroup.Last a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Semigroup.Max a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Semigroup.Min a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Semigroup.Option a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Semigroup.WrappedMonoid a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Sequence.Seq a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped (Data.Vector.Vector a)
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped Control.Exception.Base.NoMethodError
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped Control.Exception.Base.PatternMatchFail
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped Control.Exception.Base.RecConError
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped Control.Exception.Base.RecSelError
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped Control.Exception.Base.RecUpdError
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped Data.IntSet.Base.IntSet
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped Data.Monoid.All
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped Data.Monoid.Any
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped GHC.Exception.ErrorCall
+ Control.Lens.Wrapped: instance Control.Lens.Wrapped.Wrapped GHC.IO.Exception.AssertionFailed
+ Control.Lens.Wrapped: instance Data.Primitive.Types.Prim a => Control.Lens.Wrapped.Wrapped (Data.Vector.Primitive.Vector a)
+ Control.Lens.Wrapped: instance Data.Vector.Unboxed.Base.Unbox a => Control.Lens.Wrapped.Wrapped (Data.Vector.Unboxed.Base.Vector a)
+ Control.Lens.Wrapped: instance Foreign.Storable.Storable a => Control.Lens.Wrapped.Wrapped (Data.Vector.Storable.Vector a)
+ Control.Lens.Wrapped: instance GHC.Classes.Ord a => Control.Lens.Wrapped.Wrapped (Data.Set.Base.Set a)
+ Control.Lens.Wrapped: instance GHC.Classes.Ord k => Control.Lens.Wrapped.Wrapped (Data.Map.Base.Map k a)
+ Control.Lens.Wrapped: instance forall (k :: BOX) (f :: k -> *) (a :: k). Control.Lens.Wrapped.Wrapped (Data.Monoid.Alt f a)
+ Control.Lens.Wrapped: instance forall (k :: BOX) (k1 :: BOX) (f :: k1 -> *) (a :: k1) t (g :: k -> *) (b :: k). (t ~ Data.Monoid.Alt g b) => Control.Lens.Wrapped.Rewrapped (Data.Monoid.Alt f a) t
+ Control.Lens.Wrapped: instance forall (k :: BOX) (k1 :: BOX) (s :: k1) a t (s' :: k) a'. (t ~ Data.Tagged.Tagged s' a') => Control.Lens.Wrapped.Rewrapped (Data.Tagged.Tagged s a) t
+ Control.Lens.Wrapped: instance forall (k :: BOX) (s :: k) a. Control.Lens.Wrapped.Wrapped (Data.Tagged.Tagged s a)
+ Control.Lens.Wrapped: type family Unwrapped s :: *;
+ Control.Lens.Wrapped: }
+ Control.Lens.Zoom: instance (Control.Monad.Trans.Error.Error e, Control.Lens.Zoom.Zoom m n s t) => Control.Lens.Zoom.Zoom (Control.Monad.Trans.Error.ErrorT e m) (Control.Monad.Trans.Error.ErrorT e n) s t
+ Control.Lens.Zoom: instance (GHC.Base.Monad m, GHC.Base.Monoid w) => Control.Lens.Zoom.Magnify (Control.Monad.Trans.RWS.Lazy.RWST b w s m) (Control.Monad.Trans.RWS.Lazy.RWST a w s m) b a
+ Control.Lens.Zoom: instance (GHC.Base.Monad m, GHC.Base.Monoid w) => Control.Lens.Zoom.Magnify (Control.Monad.Trans.RWS.Strict.RWST b w s m) (Control.Monad.Trans.RWS.Strict.RWST a w s m) b a
+ Control.Lens.Zoom: instance (GHC.Base.Monoid w, Control.Lens.Zoom.Zoom m n s t) => Control.Lens.Zoom.Zoom (Control.Monad.Trans.Writer.Lazy.WriterT w m) (Control.Monad.Trans.Writer.Lazy.WriterT w n) s t
+ Control.Lens.Zoom: instance (GHC.Base.Monoid w, Control.Lens.Zoom.Zoom m n s t) => Control.Lens.Zoom.Zoom (Control.Monad.Trans.Writer.Strict.WriterT w m) (Control.Monad.Trans.Writer.Strict.WriterT w n) s t
+ Control.Lens.Zoom: instance (GHC.Base.Monoid w, GHC.Base.Monad z) => Control.Lens.Zoom.Zoom (Control.Monad.Trans.RWS.Lazy.RWST r w s z) (Control.Monad.Trans.RWS.Lazy.RWST r w t z) s t
+ Control.Lens.Zoom: instance (GHC.Base.Monoid w, GHC.Base.Monad z) => Control.Lens.Zoom.Zoom (Control.Monad.Trans.RWS.Strict.RWST r w s z) (Control.Monad.Trans.RWS.Strict.RWST r w t z) s t
+ Control.Lens.Zoom: instance Control.Lens.Zoom.Magnify ((->) b) ((->) a) b a
+ Control.Lens.Zoom: instance Control.Lens.Zoom.Magnify m n b a => Control.Lens.Zoom.Magnify (Control.Monad.Trans.Identity.IdentityT m) (Control.Monad.Trans.Identity.IdentityT n) b a
+ Control.Lens.Zoom: instance Control.Lens.Zoom.Zoom m n s t => Control.Lens.Zoom.Zoom (Control.Monad.Trans.Except.ExceptT e m) (Control.Monad.Trans.Except.ExceptT e n) s t
+ Control.Lens.Zoom: instance Control.Lens.Zoom.Zoom m n s t => Control.Lens.Zoom.Zoom (Control.Monad.Trans.Identity.IdentityT m) (Control.Monad.Trans.Identity.IdentityT n) s t
+ Control.Lens.Zoom: instance Control.Lens.Zoom.Zoom m n s t => Control.Lens.Zoom.Zoom (Control.Monad.Trans.List.ListT m) (Control.Monad.Trans.List.ListT n) s t
+ Control.Lens.Zoom: instance Control.Lens.Zoom.Zoom m n s t => Control.Lens.Zoom.Zoom (Control.Monad.Trans.Maybe.MaybeT m) (Control.Monad.Trans.Maybe.MaybeT n) s t
+ Control.Lens.Zoom: instance Control.Lens.Zoom.Zoom m n s t => Control.Lens.Zoom.Zoom (Control.Monad.Trans.Reader.ReaderT e m) (Control.Monad.Trans.Reader.ReaderT e n) s t
+ Control.Lens.Zoom: instance GHC.Base.Monad m => Control.Lens.Zoom.Magnify (Control.Monad.Trans.Reader.ReaderT b m) (Control.Monad.Trans.Reader.ReaderT a m) b a
+ Control.Lens.Zoom: instance GHC.Base.Monad z => Control.Lens.Zoom.Zoom (Control.Monad.Trans.State.Lazy.StateT s z) (Control.Monad.Trans.State.Lazy.StateT t z) s t
+ Control.Lens.Zoom: instance GHC.Base.Monad z => Control.Lens.Zoom.Zoom (Control.Monad.Trans.State.Strict.StateT s z) (Control.Monad.Trans.State.Strict.StateT t z) s t
+ Control.Monad.Error.Lens: Handler :: (e -> Maybe a) -> (a -> m r) -> Handler e m r
+ Control.Monad.Error.Lens: instance Control.Lens.Internal.Exception.Handleable e m (Control.Monad.Error.Lens.Handler e m)
+ Control.Monad.Error.Lens: instance GHC.Base.Monad m => Data.Functor.Alt.Alt (Control.Monad.Error.Lens.Handler e m)
+ Control.Monad.Error.Lens: instance GHC.Base.Monad m => Data.Functor.Plus.Plus (Control.Monad.Error.Lens.Handler e m)
+ Control.Monad.Error.Lens: instance GHC.Base.Monad m => Data.Semigroup.Semigroup (Control.Monad.Error.Lens.Handler e m a)
+ Control.Monad.Error.Lens: instance GHC.Base.Monad m => GHC.Base.Functor (Control.Monad.Error.Lens.Handler e m)
+ Control.Monad.Error.Lens: instance GHC.Base.Monad m => GHC.Base.Monoid (Control.Monad.Error.Lens.Handler e m a)
+ Data.Bits.Lens: infix 4 <<.&.=
+ Data.Bits.Lens: infixr 4 <<.&.~
+ Data.ByteString.Lens: instance Data.ByteString.Lens.IsByteString Data.ByteString.Internal.ByteString
+ Data.ByteString.Lens: instance Data.ByteString.Lens.IsByteString Data.ByteString.Lazy.Internal.ByteString
+ Data.Data.Lens: instance Data.Typeable.Internal.Typeable a => GHC.Exception.Exception (Data.Data.Lens.FieldException a)
+ Data.Data.Lens: instance GHC.Show.Show (Data.Data.Lens.FieldException a)
+ Data.Dynamic.Lens: instance Data.Dynamic.Lens.AsDynamic Data.Dynamic.Dynamic
+ Data.Dynamic.Lens: instance Data.Dynamic.Lens.AsDynamic GHC.Exception.SomeException
+ Data.Text.Lens: instance Data.Text.Lens.IsText Data.Text.Internal.Lazy.Text
+ Data.Text.Lens: instance Data.Text.Lens.IsText Data.Text.Internal.Text
+ Data.Text.Lens: instance Data.Text.Lens.IsText GHC.Base.String
+ Generics.Deriving.Lens: instance (GHC.Generics.Generic a, Generics.Deriving.Lens.GTraversal (GHC.Generics.Rep a), Data.Typeable.Internal.Typeable a) => Generics.Deriving.Lens.GTraversal (GHC.Generics.K1 i a)
+ Generics.Deriving.Lens: instance (Generics.Deriving.Lens.GTraversal f, Generics.Deriving.Lens.GTraversal g) => Generics.Deriving.Lens.GTraversal (f GHC.Generics.:*: g)
+ Generics.Deriving.Lens: instance (Generics.Deriving.Lens.GTraversal f, Generics.Deriving.Lens.GTraversal g) => Generics.Deriving.Lens.GTraversal (f GHC.Generics.:+: g)
+ Generics.Deriving.Lens: instance Generics.Deriving.Lens.GTraversal GHC.Generics.U1
+ Generics.Deriving.Lens: instance Generics.Deriving.Lens.GTraversal GHC.Generics.V1
+ Generics.Deriving.Lens: instance Generics.Deriving.Lens.GTraversal a => Generics.Deriving.Lens.GTraversal (GHC.Generics.M1 i c a)
+ Language.Haskell.TH.Lens: _CApi :: Prism' Callconv ()
+ Language.Haskell.TH.Lens: _DefaultSigD :: Prism' Dec (Name, Type)
+ Language.Haskell.TH.Lens: _EqualityT :: Prism' Type ()
+ Language.Haskell.TH.Lens: _InferR :: Prism' Role ()
+ Language.Haskell.TH.Lens: _JavaScript :: Prism' Callconv ()
+ Language.Haskell.TH.Lens: _LineP :: Prism' Pragma (Int, String)
+ Language.Haskell.TH.Lens: _PhantomR :: Prism' Role ()
+ Language.Haskell.TH.Lens: _Prim :: Prism' Callconv ()
+ Language.Haskell.TH.Lens: _StandaloneDerivD :: Prism' Dec (Cxt, Type)
+ Language.Haskell.TH.Lens: _StaticE :: Prism' Exp Exp
+ Language.Haskell.TH.Lens: class HasTypes t
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasName Language.Haskell.TH.Syntax.Con
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasName Language.Haskell.TH.Syntax.Name
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasName Language.Haskell.TH.Syntax.TyVarBndr
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasTypeVars Language.Haskell.TH.Syntax.Con
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasTypeVars Language.Haskell.TH.Syntax.Name
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasTypeVars Language.Haskell.TH.Syntax.TyVarBndr
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasTypeVars Language.Haskell.TH.Syntax.Type
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasTypeVars t => Language.Haskell.TH.Lens.HasTypeVars (GHC.Base.Maybe t)
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasTypeVars t => Language.Haskell.TH.Lens.HasTypeVars [t]
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasTypes Language.Haskell.TH.Syntax.Con
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasTypes Language.Haskell.TH.Syntax.Type
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.HasTypes t => Language.Haskell.TH.Lens.HasTypes [t]
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.SubstType Language.Haskell.TH.Syntax.Type
+ Language.Haskell.TH.Lens: instance Language.Haskell.TH.Lens.SubstType t => Language.Haskell.TH.Lens.SubstType [t]
+ Language.Haskell.TH.Lens: types :: HasTypes t => Traversal' t Type
+ System.Exit.Lens: instance (Data.Profunctor.Choice p, GHC.Base.Applicative f) => System.Exit.Lens.AsExitCode p f GHC.Exception.SomeException
+ System.Exit.Lens: instance System.Exit.Lens.AsExitCode p f GHC.IO.Exception.ExitCode
+ System.FilePath.Lens: infix 4 <<<.>=
+ System.FilePath.Lens: infixr 4 <<<.>~
- Control.Exception.Lens: class Handleable e (m :: * -> *) (h :: * -> *) | h -> e m where handler_ l = handler l . const
+ Control.Exception.Lens: class Handleable e (m :: * -> *) (h :: * -> *) | h -> e m
- Control.Lens.Each: class Each s t a b | s -> a, t -> b, s b -> t, t a -> s where each = traverse
+ Control.Lens.Each: class Each s t a b | s -> a, t -> b, s b -> t, t a -> s
- Control.Lens.Empty: class AsEmpty a where _Empty = only mempty
+ Control.Lens.Empty: class AsEmpty a
- Control.Lens.Fold: foldByOf :: (forall i. Reifies i (ReifiedMonoid a) => Getting (M a i) s a) -> (a -> a -> a) -> a -> s -> a
+ Control.Lens.Fold: foldByOf :: Fold s a -> (a -> a -> a) -> a -> s -> a
- Control.Lens.Fold: foldMapByOf :: (forall i. Reifies i (ReifiedMonoid r) => Getting (M r i) s a) -> (r -> r -> r) -> r -> (a -> r) -> s -> r
+ Control.Lens.Fold: foldMapByOf :: Fold s a -> (r -> r -> r) -> r -> (a -> r) -> s -> r
- Control.Lens.Fold: itakingWhile :: (Indexable i p, Profunctor q, Contravariant f, Applicative f) => (i -> a -> Bool) -> Optical (Indexed i) q (Const (Endo (f s))) s s a a -> Optical p q f s s a a
+ Control.Lens.Fold: itakingWhile :: (Indexable i p, Profunctor q, Contravariant f, Applicative f) => (i -> a -> Bool) -> Optical' (Indexed i) q (Const (Endo (f s))) s a -> Optical' p q f s a
- Control.Lens.Getter: ilike :: (Indexable i p, Contravariant f) => i -> a -> Optical' p (->) f s a
+ Control.Lens.Getter: ilike :: (Indexable i p, Contravariant f) => i -> a -> Over' p f s a
- Control.Lens.Getter: ito :: (Indexable i p, Contravariant f) => (s -> (i, a)) -> Optical' p (->) f s a
+ Control.Lens.Getter: ito :: (Indexable i p, Contravariant f) => (s -> (i, a)) -> Over' p f s a
- Control.Lens.Getter: like :: (Profunctor p, Contravariant f) => a -> Optical' p p f s a
+ Control.Lens.Getter: like :: (Profunctor p, Contravariant f) => a -> Optic' p f s a
- Control.Lens.Getter: to :: (Profunctor p, Contravariant f) => (s -> a) -> Optical' p p f s a
+ Control.Lens.Getter: to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a
- Control.Lens.Getter: uses :: (Profunctor p, MonadState s m) => Optical p (->) (Const r) s s a a -> p a r -> m r
+ Control.Lens.Getter: uses :: (Profunctor p, MonadState s m) => Over' p (Const r) s a -> p a r -> m r
- Control.Lens.Getter: views :: (Profunctor p, MonadReader s m) => Optical p (->) (Const r) s s a a -> p a r -> m r
+ Control.Lens.Getter: views :: (Profunctor p, MonadReader s m) => Over' p (Const r) s a -> p a r -> m r
- Control.Lens.Indexed: class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p), Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p), Costrong p, ArrowLoop p, ArrowApply p, ArrowChoice p) => Conjoined p where distrib = tabulate . collect . sieve conjoined _ r = r
+ Control.Lens.Indexed: class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p), Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p), Costrong p, ArrowLoop p, ArrowApply p, ArrowChoice p) => Conjoined p
- Control.Lens.Indexed: class Foldable f => FoldableWithIndex i f | f -> i where ifoldMap = ifoldMapOf itraversed ifolded = conjoined folded $ \ f -> coerce . getFolding . ifoldMap (\ i -> Folding #. indexed f i) ifoldr f z t = appEndo (ifoldMap (\ i -> Endo #. f i) t) z ifoldl f z t = appEndo (getDual (ifoldMap (\ i -> Dual #. Endo #. flip (f i)) t)) z ifoldr' f z0 xs = ifoldl f' id xs z0 where f' i k x z = k $! f i x z ifoldl' f z0 xs = ifoldr f' id xs z0 where f' i x k z = k $! f i z x
+ Control.Lens.Indexed: class Foldable f => FoldableWithIndex i f | f -> i
- Control.Lens.Indexed: class Functor f => FunctorWithIndex i f | f -> i where imap = iover itraversed imapped = conjoined mapped (isets imap)
+ Control.Lens.Indexed: class Functor f => FunctorWithIndex i f | f -> i
- Control.Lens.Indexed: class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t) => TraversableWithIndex i t | t -> i where itraverse = traversed .# Indexed itraversed = conjoined traverse (itraverse . indexed)
+ Control.Lens.Indexed: class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t) => TraversableWithIndex i t | t -> i
- Control.Lens.Internal.Context: class IndexedFunctor w => IndexedComonad w where iduplicate = iextend id iextend f = ifmap f . iduplicate
+ Control.Lens.Internal.Context: class IndexedFunctor w => IndexedComonad w
- Control.Lens.Internal.Context: class IndexedComonad w => IndexedComonadStore w where ipeek c = iextract . iseek c ipeeks f = iextract . iseeks f iexperiment bfc wbct = (`ipeek` wbct) <$> bfc (ipos wbct) context wabt = Context (`ipeek` wabt) (ipos wabt)
+ Control.Lens.Internal.Context: class IndexedComonad w => IndexedComonadStore w
- Control.Lens.Internal.Exception: class Handleable e (m :: * -> *) (h :: * -> *) | h -> e m where handler_ l = handler l . const
+ Control.Lens.Internal.Exception: class Handleable e (m :: * -> *) (h :: * -> *) | h -> e m
- Control.Lens.Internal.Indexed: class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p), Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p), Costrong p, ArrowLoop p, ArrowApply p, ArrowChoice p) => Conjoined p where distrib = tabulate . collect . sieve conjoined _ r = r
+ Control.Lens.Internal.Indexed: class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p), Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p), Costrong p, ArrowLoop p, ArrowApply p, ArrowChoice p) => Conjoined p
- Control.Lens.Internal.Setter: class (Applicative f, Distributive f, Traversable f) => Settable f where untaintedDot g = g `seq` rmap untainted g taintedDot g = g `seq` rmap pure g
+ Control.Lens.Internal.Setter: class (Applicative f, Distributive f, Traversable f) => Settable f
- Control.Lens.Plated: class Plated a where plate = uniplate
+ Control.Lens.Plated: class Plated a
- Control.Lens.Plated: holesOn :: Conjoined p => Optical p (->) (Bazaar p a a) s t a a -> s -> [Pretext p a a t]
+ Control.Lens.Plated: holesOn :: Conjoined p => Over p (Bazaar p a a) s t a a -> s -> [Pretext p a a t]
- Control.Lens.Plated: holesOnOf :: Conjoined p => LensLike (Bazaar p r r) s t a b -> Optical p (->) (Bazaar p r r) a b r r -> s -> [Pretext p r r t]
+ Control.Lens.Plated: holesOnOf :: Conjoined p => LensLike (Bazaar p r r) s t a b -> Over p (Bazaar p r r) a b r r -> s -> [Pretext p r r t]
- Control.Lens.Setter: class (Applicative f, Distributive f, Traversable f) => Settable f where untaintedDot g = g `seq` rmap untainted g taintedDot g = g `seq` rmap pure g
+ Control.Lens.Setter: class (Applicative f, Distributive f, Traversable f) => Settable f
- Control.Lens.Tuple: class Field1 s t a b | s -> a, t -> b, s b -> t, t a -> s where _1 = ix proxyN0
+ Control.Lens.Tuple: class Field1 s t a b | s -> a, t -> b, s b -> t, t a -> s
- Control.Lens.Tuple: class Field2 s t a b | s -> a, t -> b, s b -> t, t a -> s where _2 = ix proxyN1
+ Control.Lens.Tuple: class Field2 s t a b | s -> a, t -> b, s b -> t, t a -> s
- Control.Lens.Tuple: class Field3 s t a b | s -> a, t -> b, s b -> t, t a -> s where _3 = ix proxyN2
+ Control.Lens.Tuple: class Field3 s t a b | s -> a, t -> b, s b -> t, t a -> s
- Control.Lens.Tuple: class Field4 s t a b | s -> a, t -> b, s b -> t, t a -> s where _4 = ix proxyN3
+ Control.Lens.Tuple: class Field4 s t a b | s -> a, t -> b, s b -> t, t a -> s
- Control.Lens.Tuple: class Field5 s t a b | s -> a, t -> b, s b -> t, t a -> s where _5 = ix proxyN4
+ Control.Lens.Tuple: class Field5 s t a b | s -> a, t -> b, s b -> t, t a -> s
- Control.Lens.Tuple: class Field6 s t a b | s -> a, t -> b, s b -> t, t a -> s where _6 = ix proxyN5
+ Control.Lens.Tuple: class Field6 s t a b | s -> a, t -> b, s b -> t, t a -> s
- Control.Lens.Tuple: class Field7 s t a b | s -> a, t -> b, s b -> t, t a -> s where _7 = ix proxyN6
+ Control.Lens.Tuple: class Field7 s t a b | s -> a, t -> b, s b -> t, t a -> s
- Control.Lens.Tuple: class Field8 s t a b | s -> a, t -> b, s b -> t, t a -> s where _8 = ix proxyN7
+ Control.Lens.Tuple: class Field8 s t a b | s -> a, t -> b, s b -> t, t a -> s
- Control.Lens.Tuple: class Field9 s t a b | s -> a, t -> b, s b -> t, t a -> s where _9 = ix proxyN8
+ Control.Lens.Tuple: class Field9 s t a b | s -> a, t -> b, s b -> t, t a -> s
- Control.Lens.Wrapped: class Wrapped s where type family Unwrapped s :: *
+ Control.Lens.Wrapped: class Wrapped s where {
- Control.Monad.Error.Lens: class Handleable e (m :: * -> *) (h :: * -> *) | h -> e m where handler_ l = handler l . const
+ Control.Monad.Error.Lens: class Handleable e (m :: * -> *) (h :: * -> *) | h -> e m
- Data.ByteString.Lens: class IsByteString t where bytes = from packedBytes . traversed chars = from packedChars . traversed
+ Data.ByteString.Lens: class IsByteString t
- Data.Text.Lens: class IsText t where text = unpacked . traversed
+ Data.Text.Lens: class IsText t
- Language.Haskell.TH.Lens: _FunDep :: Prism' FunDep ([Name], [Name])
+ Language.Haskell.TH.Lens: _FunDep :: Iso' FunDep ([Name], [Name])

Files

CHANGELOG.markdown view
@@ -1,3 +1,11 @@+4.12.3+------+* Move `Review` and `AReview` to `Control.Lens.Type` fixing a bug in `makePrisms`+* Expose `HasTypes` class in `Language.Haskell.TH.Lens`+* Make types of `foldByOf` and `foldMapByOf` more specific to hide implementation details+* Add Prisms to `Language.Haskell.TH` for new constructors in `template-haskell-2.10`+* Generalize type of `_FunDep` to an `Iso`+ 4.12.2 ------ * Incorporated a bug fix for `foldByOf` and `foldMapByOf` to actually let them work on folds.
lens.cabal view
@@ -1,6 +1,6 @@ name:          lens category:      Data, Lenses, Generics-version:       4.12.2+version:       4.12.3 license:       BSD3 cabal-version: >= 1.8 license-file:  LICENSE
src/Control/Lens.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE CPP #-}-{-# LANGUAGE Safe #-} ----------------------------------------------------------------------------- -- | -- Module      :  Control.Lens
src/Control/Lens/Fold.hs view
@@ -168,7 +168,6 @@ import Data.Profunctor.Rep import Data.Profunctor.Sieve import Data.Profunctor.Unsafe-import Data.Reflection import Data.Traversable import Prelude hiding (foldr) @@ -596,6 +595,10 @@  -- | A convenient infix (flipped) version of 'toListOf'. --+-- >>> [[1,2],[3]]^..id+-- [[[1,2],[3]]]+-- >>> [[1,2],[3]]^..traverse+-- [[1,2],[3]] -- >>> [[1,2],[3]]^..traverse.traverse -- [1,2,3] --@@ -2456,8 +2459,8 @@ -- @ itakingWhile :: (Indexable i p, Profunctor q, Contravariant f, Applicative f)          => (i -> a -> Bool)-         -> Optical (Indexed i) q (Const (Endo (f s))) s s a a-         -> Optical p q f s s a a+         -> Optical' (Indexed i) q (Const (Endo (f s))) s a+         -> Optical' p q f s a itakingWhile p l f = (flip appEndo noEffect .# getConst) `rmap` l g where   g = Indexed $ \i a -> Const . Endo $ if p i a then (indexed f i a *>) else const noEffect {-# INLINE itakingWhile #-}@@ -2527,7 +2530,7 @@ -- -- >>> foldByOf both (++) [] ("hello","world") -- "helloworld"-foldByOf :: (forall i. Reifies i (ReifiedMonoid a) => Getting (M a i) s a) -> (a -> a -> a) -> a -> s -> a+foldByOf :: Fold s a -> (a -> a -> a) -> a -> s -> a foldByOf l f z = reifyFold f z (foldMapOf l M)  -- | Fold a value using its 'Foldable' instance using@@ -2561,5 +2564,5 @@ -- -- >>> foldMapByOf both (+) 0 length ("hello","world") -- 10-foldMapByOf :: (forall i. Reifies i (ReifiedMonoid r) => Getting (M r i) s a) -> (r -> r -> r) -> r -> (a -> r) -> s -> r+foldMapByOf :: Fold s a -> (r -> r -> r) -> r -> (a -> r) -> s -> r foldMapByOf l f z g = reifyFold f z (foldMapOf l (M #. g))
src/Control/Lens/Getter.hs view
@@ -128,7 +128,7 @@ -- @ -- 'to' :: (s -> a) -> 'IndexPreservingGetter' s a -- @-to :: (Profunctor p, Contravariant f) => (s -> a) -> Optical' p p f s a +to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a to k = dimap k (contramap k) {-# INLINE to #-} @@ -136,7 +136,7 @@ -- @ -- 'ito' :: (s -> (i, a)) -> 'IndexedGetter' i s a -- @-ito :: (Indexable i p, Contravariant f) => (s -> (i, a)) -> Optical' p (->) f s a+ito :: (Indexable i p, Contravariant f) => (s -> (i, a)) -> Over' p f s a ito k = dimap k (contramap (snd . k)) . uncurry . indexed {-# INLINE ito #-} @@ -155,7 +155,7 @@ -- @ -- 'like' :: a -> 'IndexPreservingGetter' s a -- @-like :: (Profunctor p, Contravariant f) => a -> Optical' p p f s a+like :: (Profunctor p, Contravariant f) => a -> Optic' p f s a like a = to (const a) {-# INLINE like #-} @@ -163,7 +163,7 @@ -- @ -- 'ilike' :: i -> a -> 'IndexedGetter' i s a -- @-ilike :: (Indexable i p, Contravariant f) => i -> a -> Optical' p (->) f s a+ilike :: (Indexable i p, Contravariant f) => i -> a -> Over' p f s a ilike i a = ito (const (i, a)) {-# INLINE ilike #-} @@ -271,17 +271,17 @@ -- In a more general setting, such as when working with a 'Monad' transformer stack you can use: -- -- @--- 'view' :: 'MonadReader' s m             => 'Getter' s a     -> m a--- 'view' :: ('MonadReader' s m, 'Data.Monoid.Monoid' a) => 'Control.Lens.Fold.Fold' s a       -> m a--- 'view' :: 'MonadReader' s m             => 'Control.Lens.Iso.Iso'' s a       -> m a--- 'view' :: 'MonadReader' s m             => 'Lens'' s a      -> m a--- 'view' :: ('MonadReader' s m, 'Data.Monoid.Monoid' a) => 'Control.Lens.Traversal.Traversal'' s a -> m a+-- 'views' :: 'MonadReader' s m             => 'Getter' s a     -> (a -> r) -> m r+-- 'views' :: ('MonadReader' s m, 'Data.Monoid.Monoid' r) => 'Control.Lens.Fold.Fold' s a       -> (a -> r) -> m r+-- 'views' :: 'MonadReader' s m             => 'Control.Lens.Iso.Iso'' s a       -> (a -> r) -> m r+-- 'views' :: 'MonadReader' s m             => 'Lens'' s a      -> (a -> r) -> m r+-- 'views' :: ('MonadReader' s m, 'Data.Monoid.Monoid' r) => 'Control.Lens.Traversal.Traversal'' s a -> (a -> r) -> m r -- @ -- -- @ -- 'views' :: 'MonadReader' s m => 'Getting' r s a -> (a -> r) -> m r -- @-views :: (Profunctor p, MonadReader s m) => Optical p (->) (Const r) s s a a -> p a r -> m r+views :: (Profunctor p, MonadReader s m) => Over' p (Const r) s a -> p a r -> m r views l f = Reader.asks (getConst #. l (Const #. f)) {-# INLINE views #-} @@ -360,7 +360,7 @@ -- @ -- 'uses' :: 'MonadState' s m => 'Getting' r s t a b -> (a -> r) -> m r -- @-uses :: (Profunctor p, MonadState s m) => Optical p (->) (Const r) s s a a -> p a r -> m r+uses :: (Profunctor p, MonadState s m) => Over' p (Const r) s a -> p a r -> m r uses l f = State.gets (views l f) {-# INLINE uses #-} 
src/Control/Lens/Internal/Indexed.hs view
@@ -284,7 +284,7 @@ -- 'indexing' :: 'Control.Lens.Type.Getter' s a        -> 'Control.Lens.Type.IndexedGetter' 'Int' s a -- @ ----- @'indexing' :: 'Indexable' 'Int' p => 'Control.Lens.Type.LensLike' ('Indexing' f) s t a b -> 'Control.Lens.Type.Optical' p (->) f s t a b@+-- @'indexing' :: 'Indexable' 'Int' p => 'Control.Lens.Type.LensLike' ('Indexing' f) s t a b -> 'Control.Lens.Type.Over' p f s t a b@ indexing :: Indexable Int p => ((a -> Indexing f b) -> s -> Indexing f t) -> p a (f b) -> s -> f t indexing l iafb s = snd $ runIndexing (l (\a -> Indexing (\i -> i `seq` (i + 1, indexed iafb i a))) s) 0 {-# INLINE indexing #-}
src/Control/Lens/Plated.hs view
@@ -633,7 +633,7 @@ -- 'holesOn' :: 'IndexedLens'' i s a      -> s -> ['Pretext' ('Control.Lens.Internal.Indexed.Indexed' i) a a s] -- 'holesOn' :: 'IndexedTraversal'' i s a -> s -> ['Pretext' ('Control.Lens.Internal.Indexed.Indexed' i) a a s] -- @-holesOn :: Conjoined p => Optical p (->) (Bazaar p a a) s t a a -> s -> [Pretext p a a t]+holesOn :: Conjoined p => Over p (Bazaar p a a) s t a a -> s -> [Pretext p a a t] holesOn = holesOf {-# INLINE holesOn #-} @@ -652,7 +652,7 @@ -- @ holesOnOf :: Conjoined p           => LensLike (Bazaar p  r r) s t a b-          -> Optical p (->) (Bazaar p r r) a b r r+          -> Over p (Bazaar p r r) a b r r           -> s -> [Pretext p r r t] holesOnOf b l = holesOf (b . l) {-# INLINE holesOnOf #-}
src/Control/Lens/Prism.hs view
@@ -333,14 +333,24 @@ {-# INLINE only #-}  --- | This 'Prism' compares for approximate equality with a given value and a predicate for testing.+-- | This 'Prism' compares for approximate equality with a given value and a predicate for testing, +-- an example where the value is the empty list and the predicate checks that a list is empty (same+-- as 'Control.Lens.Empty._Empty' with the 'Control.Lens.Empty.AsEmpty' list instance):+-- +-- >>> nearly [] null # ()+-- []+-- >>> [1,2,3,4] ^? nearly [] null+-- Nothing+-- +-- @'nearly' [] 'Prelude.null' :: 'Prism'' [a] ()@ -- -- To comply with the 'Prism' laws the arguments you supply to @nearly a p@ are somewhat constrained. -- -- We assume @p x@ holds iff @x ≡ a@. Under that assumption then this is a valid 'Prism'. -- -- This is useful when working with a type where you can test equality for only a subset of its--- values, and the prism selects such a value.+-- values, and the prism selects such a value. + nearly :: a -> (a -> Bool) -> Prism' a () nearly a p = prism' (\() -> a) $ guard . p {-# INLINE nearly #-}
src/Control/Lens/Review.hs view
@@ -40,7 +40,6 @@ import Control.Monad.State as State import Control.Lens.Getter import Control.Lens.Internal.Review-import Control.Lens.Internal.Setter import Control.Lens.Type import Data.Bifunctor import Data.Functor.Identity@@ -61,18 +60,6 @@ ------------------------------------------------------------------------------ -- Review ---------------------------------------------------------------------------------- | This is a limited form of a 'Prism' that can only be used for 're' operations.------ Like with a 'Getter', there are no laws to state for a 'Review'.------ You can generate a 'Review' by using 'unto'. You can also use any 'Prism' or 'Iso'--- directly as a 'Review'.-type Review t b = forall p f. (Choice p, Bifunctor p, Settable f) => Optic' p f t b---- | If you see this in a signature for a function, the function is expecting a 'Review'--- (in practice, this usually means a 'Prism').-type AReview t b = Optic' Tagged Identity t b  -- | An analogue of 'to' for 'review'. --
src/Control/Lens/Type.hs view
@@ -28,6 +28,7 @@     Equality, Equality', As   , Iso, Iso'   , Prism , Prism'+  , Review , AReview   -- * Lenses, Folds and Traversals   , Lens, Lens'   , Traversal, Traversal'@@ -61,9 +62,12 @@ import Control.Applicative import Control.Lens.Internal.Setter import Control.Lens.Internal.Indexed+import Data.Bifunctor+import Data.Functor.Identity import Data.Functor.Contravariant import Data.Functor.Apply import Data.Profunctor+import Data.Tagged import Prelude ()  -- $setup@@ -328,6 +332,22 @@ -- type 'Iso'' = 'Control.Lens.Type.Simple' 'Iso' -- @ type Iso' s a = Iso s s a a++------------------------------------------------------------------------------+-- Review Internals+------------------------------------------------------------------------------++-- | This is a limited form of a 'Prism' that can only be used for 're' operations.+--+-- Like with a 'Getter', there are no laws to state for a 'Review'.+--+-- You can generate a 'Review' by using 'unto'. You can also use any 'Prism' or 'Iso'+-- directly as a 'Review'.+type Review t b = forall p f. (Choice p, Bifunctor p, Settable f) => Optic' p f t b++-- | If you see this in a signature for a function, the function is expecting a 'Review'+-- (in practice, this usually means a 'Prism').+type AReview t b = Optic' Tagged Identity t b  ------------------------------------------------------------------------------ -- Prism Internals
src/Language/Haskell/TH/Lens.hs view
@@ -22,1813 +22,1875 @@   (   -- * Traversals     HasName(..)-  , HasTypeVars(..)-  , SubstType(..)-  , typeVars      -- :: HasTypeVars t => Traversal' t Name-  , substTypeVars -- :: HasTypeVars t => Map Name Name -> t -> t-  , conFields-  , conNamedFields-  -- * Lenses-  -- ** Loc Lenses-  , locFileName-  , locPackage-  , locModule-  , locStart-  , locEnd-  -- ** FunDep Lenses-  , funDepInputs-  , funDepOutputs-  -- ** Match Lenses-  , matchPattern-  , matchBody-  , matchDeclarations-  -- ** Fixity Lenses-  , fixityPrecedence-  , fixityDirection-  -- ** Clause Lenses-  , clausePattern-  , clauseBody-  , clauseDecs-  -- ** FieldExp Lenses-  , fieldExpName-  , fieldExpExpression-  -- ** FieldPat Lenses-  , fieldPatName-  , fieldPatPattern-#if MIN_VERSION_template_haskell(2,9,0)-  -- ** TySynEqn Lenses-  , tySynEqnPatterns-  , tySynEqnResult-#endif-  -- * Prisms-  -- ** Info Prisms-  , _ClassI-  , _ClassOpI-  , _TyConI-  , _FamilyI-  , _PrimTyConI-  , _DataConI-  , _VarI-  , _TyVarI-  -- ** Dec Prisms-  , _FunD-  , _ValD-  , _DataD-  , _NewtypeD-  , _TySynD-  , _ClassD-  , _InstanceD-  , _SigD-  , _ForeignD-#if MIN_VERSION_template_haskell(2,8,0)-  , _InfixD-#endif-  , _PragmaD-  , _FamilyD-  , _DataInstD-  , _NewtypeInstD-  , _TySynInstD-#if MIN_VERSION_template_haskell(2,9,0)-  , _ClosedTypeFamilyD-  , _RoleAnnotD-#endif-  -- ** Con Prisms-  , _NormalC-  , _RecC-  , _InfixC-  , _ForallC-  -- ** Strict Prisms-  , _IsStrict-  , _NotStrict-  , _Unpacked-  -- ** Foreign Prisms-  , _ImportF-  , _ExportF-  -- ** Callconv Prisms-  , _CCall-  , _StdCall-  -- ** Safety Prisms-  , _Unsafe-  , _Safe-  , _Interruptible-  -- ** Pragma Prisms-  , _InlineP-  , _SpecialiseP-#if MIN_VERSION_template_haskell(2,8,0)-  , _SpecialiseInstP-  , _RuleP-#if MIN_VERSION_template_haskell(2,9,0)-  , _AnnP-#endif-  -- ** Inline Prisms-  , _NoInline-  , _Inline-  , _Inlinable-  -- ** RuleMatch Prisms-  , _ConLike-  , _FunLike-  -- ** Phases Prisms-  , _AllPhases-  , _FromPhase-  , _BeforePhase-  -- ** RuleBndr Prisms-  , _RuleVar-  , _TypedRuleVar-#endif-#if MIN_VERSION_template_haskell(2,9,0)-  -- ** AnnTarget Prisms-  , _ModuleAnnotation-  , _TypeAnnotation-  , _ValueAnnotation-#endif-  -- ** FunDep Prisms TODO make a lens-  , _FunDep-  -- ** FamFlavour Prisms-  , _TypeFam-  , _DataFam-  -- ** FixityDirection Prisms-  , _InfixL-  , _InfixR-  , _InfixN-  -- ** Exp Prisms-  , _VarE-  , _ConE-  , _LitE-  , _AppE-  , _InfixE-  , _UInfixE-  , _ParensE-  , _LamE-#if MIN_VERSION_template_haskell(2,8,0)-  , _LamCaseE-#endif-  , _TupE-  , _UnboxedTupE-  , _CondE-#if MIN_VERSION_template_haskell(2,8,0)-  , _MultiIfE-#endif-  , _LetE-  , _CaseE-  , _DoE-  , _CompE-  , _ArithSeqE-  , _ListE-  , _SigE-  , _RecConE-  , _RecUpdE-  -- ** Body Prisms-  , _GuardedB-  , _NormalB-  -- ** Guard Prisms-  , _NormalG-  , _PatG-  -- ** Stmt Prisms-  , _BindS-  , _LetS-  , _NoBindS-  , _ParS-  -- ** Range Prisms-  , _FromR-  , _FromThenR-  , _FromToR-  , _FromThenToR-  -- ** Lit Prisms-  , _CharL-  , _StringL-  , _IntegerL-  , _RationalL-  , _IntPrimL-  , _WordPrimL-  , _FloatPrimL-  , _DoublePrimL-  , _StringPrimL-  -- ** Pat Prisms-  , _LitP-  , _VarP-  , _TupP-  , _UnboxedTupP-  , _ConP-  , _InfixP-  , _UInfixP-  , _ParensP-  , _TildeP-  , _BangP-  , _AsP-  , _WildP-  , _RecP-  , _ListP-  , _SigP-  , _ViewP-  -- ** Type Prisms-  , _ForallT-  , _AppT-  , _SigT-  , _VarT-  , _ConT-#if MIN_VERSION_template_haskell(2,8,0)-  , _PromotedT-#endif-  , _TupleT-  , _UnboxedTupleT-  , _ArrowT-  , _ListT-#if MIN_VERSION_template_haskell(2,8,0)-  , _PromotedTupleT-  , _PromotedNilT-  , _PromotedConsT-  , _StarT-  , _ConstraintT-  , _LitT-#endif-  -- ** TyVarBndr Prisms-  , _PlainTV-  , _KindedTV-#if MIN_VERSION_template_haskell(2,8,0)-  -- ** TyLit Prisms-  , _NumTyLit-  , _StrTyLit-#endif-#if !MIN_VERSION_template_haskell(2,10,0)-  -- ** Pred Prisms-  , _ClassP-  , _EqualP-#endif-#if MIN_VERSION_template_haskell(2,9,0)-  -- ** Role Prisms-  , _NominalR-  , _RepresentationalR-#endif-  ) where--import Control.Applicative-import Control.Lens.At-import Control.Lens.Getter-import Control.Lens.Setter-import Control.Lens.Fold-import Control.Lens.Lens-import Control.Lens.Prism-import Control.Lens.Tuple-import Control.Lens.Traversal-import Data.Map as Map hiding (toList,map)-import Data.Maybe (fromMaybe)-import Data.Monoid-import Data.Set as Set hiding (toList,map)-import Data.Set.Lens-import Language.Haskell.TH-import Language.Haskell.TH.Syntax-#if MIN_VERSION_template_haskell(2,8,0)-import Data.Word-#endif-import Prelude---- | Has a 'Name'-class HasName t where-  -- | Extract (or modify) the 'Name' of something-  name :: Lens' t Name--instance HasName TyVarBndr where-  name f (PlainTV n) = PlainTV <$> f n-  name f (KindedTV n k) = (`KindedTV` k) <$> f n--instance HasName Name where-  name = id--instance HasName Con where-  name f (NormalC n tys)       = (`NormalC` tys) <$> f n-  name f (RecC n tys)          = (`RecC` tys) <$> f n-  name f (InfixC l n r)        = (\n' -> InfixC l n' r) <$> f n-  name f (ForallC bds ctx con) = ForallC bds ctx <$> name f con---- | Contains some amount of `Type`s inside-class HasTypes t where-  -- | Traverse all the types-  types :: Traversal' t Type--instance HasTypes Type where-  types = id--instance HasTypes Con where-  types f (NormalC n t)      = NormalC n <$> traverse (_2 (types f)) t-  types f (RecC n t)         = RecC n <$> traverse (_3 (types f)) t-  types f (InfixC t1 n t2) = InfixC <$> _2 (types f) t1-                                       <*> pure n <*> _2 (types f) t2-  types f (ForallC vb ctx con)    = ForallC vb ctx <$> types f con--instance HasTypes t => HasTypes [t] where-  types = traverse . types---- | Provides for the extraction of free type variables, and alpha renaming.-class HasTypeVars t where-  -- | When performing substitution into this traversal you're not allowed-  -- to substitute in a name that is bound internally or you'll violate-  -- the 'Traversal' laws, when in doubt generate your names with 'newName'.-  typeVarsEx :: Set Name -> Traversal' t Name--instance HasTypeVars TyVarBndr where-  typeVarsEx s f b-    | s^.contains (b^.name) = pure b-    | otherwise             = name f b--instance HasTypeVars Name where-  typeVarsEx s f n-    | s^.contains n = pure n-    | otherwise     = f n--instance HasTypeVars Type where-  typeVarsEx s f (VarT n)            = VarT <$> typeVarsEx s f n-  typeVarsEx s f (AppT l r)          = AppT <$> typeVarsEx s f l <*> typeVarsEx s f r-  typeVarsEx s f (SigT t k)          = (`SigT` k) <$> typeVarsEx s f t-  typeVarsEx s f (ForallT bs ctx ty) = ForallT bs <$> typeVarsEx s' f ctx <*> typeVarsEx s' f ty-       where s' = s `Set.union` setOf typeVars bs-  typeVarsEx _ _ t                   = pure t--#if !MIN_VERSION_template_haskell(2,10,0)-instance HasTypeVars Pred where-  typeVarsEx s f (ClassP n ts) = ClassP n <$> typeVarsEx s f ts-  typeVarsEx s f (EqualP l r)  = EqualP <$> typeVarsEx s f l <*> typeVarsEx s f r-#endif--instance HasTypeVars Con where-  typeVarsEx s f (NormalC n ts) = NormalC n <$> traverseOf (traverse . _2) (typeVarsEx s f) ts-  typeVarsEx s f (RecC n ts) = RecC n <$> traverseOf (traverse . _3) (typeVarsEx s f) ts-  typeVarsEx s f (InfixC l n r) = InfixC <$> g l <*> pure n <*> g r-       where g (i, t) = (,) i <$> typeVarsEx s f t-  typeVarsEx s f (ForallC bs ctx c) = ForallC bs <$> typeVarsEx s' f ctx <*> typeVarsEx s' f c-       where s' = s `Set.union` setOf typeVars bs--instance HasTypeVars t => HasTypeVars [t] where-  typeVarsEx s = traverse . typeVarsEx s--instance HasTypeVars t => HasTypeVars (Maybe t) where-  typeVarsEx s = traverse . typeVarsEx s---- | Traverse /free/ type variables-typeVars :: HasTypeVars t => Traversal' t Name-typeVars = typeVarsEx mempty---- | Substitute using a map of names in for /free/ type variables-substTypeVars :: HasTypeVars t => Map Name Name -> t -> t-substTypeVars m = over typeVars $ \n -> fromMaybe n (m^.at n)---- | Provides substitution for types-class SubstType t where-  -- | Perform substitution for types-  substType :: Map Name Type -> t -> t--instance SubstType Type where-  substType m t@(VarT n)          = fromMaybe t (m^.at n)-  substType m (ForallT bs ctx ty) = ForallT bs (substType m' ctx) (substType m' ty)-    where m' = foldrOf typeVars Map.delete m bs-  substType m (SigT t k)          = SigT (substType m t) k-  substType m (AppT l r)          = AppT (substType m l) (substType m r)-  substType _ t                   = t--instance SubstType t => SubstType [t] where-  substType = map . substType--#if !MIN_VERSION_template_haskell(2,10,0)-instance SubstType Pred where-  substType m (ClassP n ts) = ClassP n (substType m ts)-  substType m (EqualP l r)  = substType m (EqualP l r)-#endif---- | Provides a 'Traversal' of the types of each field of a constructor.-conFields :: Traversal' Con StrictType-conFields f (NormalC n fs)      = NormalC n <$> traverse f fs-conFields f (RecC n fs)         = RecC n <$> traverse sans_var fs-  where sans_var (fn,s,t) = (\(s', t') -> (fn,s',t')) <$> f (s, t)-conFields f (InfixC l n r)      = InfixC <$> f l <*> pure n <*> f r-conFields f (ForallC bds ctx c) = ForallC bds ctx <$> conFields f c---- | 'Traversal' of the types of the /named/ fields of a constructor.-conNamedFields :: Traversal' Con VarStrictType-conNamedFields f (RecC n fs) = RecC n <$> traverse f fs-conNamedFields f (ForallC a b fs) = ForallC a b <$> conNamedFields f fs-conNamedFields _ c = pure c---- Lenses and Prisms-locFileName :: Lens' Loc String-locFileName = lens loc_filename-            $ \loc fn -> loc { loc_filename = fn }--locPackage :: Lens' Loc String-locPackage = lens loc_package-           $ \loc fn -> loc { loc_package = fn }--locModule :: Lens' Loc String-locModule = lens loc_module-          $ \loc fn -> loc { loc_module = fn }--locStart :: Lens' Loc CharPos-locStart = lens loc_start-         $ \loc fn -> loc { loc_start = fn }--locEnd :: Lens' Loc CharPos-locEnd = lens loc_end-       $ \loc fn -> loc { loc_end = fn }--funDepInputs :: Lens' FunDep [Name]-funDepInputs = lens g s where-   g (FunDep xs _)    = xs-   s (FunDep _ ys) xs = FunDep xs ys--funDepOutputs :: Lens' FunDep [Name]-funDepOutputs = lens g s where-   g (FunDep _ xs) = xs-   s (FunDep ys _) = FunDep ys--fieldExpName :: Lens' FieldExp Name-fieldExpName = _1--fieldExpExpression :: Lens' FieldExp Exp-fieldExpExpression = _2--fieldPatName :: Lens' FieldPat Name-fieldPatName = _1--fieldPatPattern :: Lens' FieldPat Pat-fieldPatPattern = _2--matchPattern :: Lens' Match Pat-matchPattern = lens g s where-   g (Match p _ _)   = p-   s (Match _ x y) p = Match p x y--matchBody :: Lens' Match Body-matchBody = lens g s where-   g (Match _ b _)   = b-   s (Match x _ y) b = Match x b y--matchDeclarations :: Lens' Match [Dec]-matchDeclarations = lens g s where-   g (Match _ _ ds) = ds-   s (Match x y _ ) = Match x y--fixityPrecedence :: Lens' Fixity Int-fixityPrecedence = lens g s where-   g (Fixity i _)   = i-   s (Fixity _ x) i = Fixity i x--fixityDirection :: Lens' Fixity FixityDirection-fixityDirection = lens g s where-   g (Fixity _ d) = d-   s (Fixity i _) = Fixity i--clausePattern :: Lens' Clause [Pat]-clausePattern = lens g s where-   g (Clause ps _ _)    = ps-   s (Clause _  x y) ps = Clause ps x y--clauseBody :: Lens' Clause Body-clauseBody = lens g s where-   g (Clause _ b _)   = b-   s (Clause x _ y) b = Clause x b y--clauseDecs :: Lens' Clause [Dec]-clauseDecs = lens g s where-   g (Clause _ _ ds) = ds-   s (Clause x y _ ) = Clause x y--#if MIN_VERSION_template_haskell(2,8,0)-_ClassI :: Prism' Info (Dec, [InstanceDec])-_ClassI-  = prism remitter reviewer-  where-      remitter (x, y) = ClassI x y-      reviewer (ClassI x y) = Right (x, y)-      reviewer x = Left x--_ClassOpI :: Prism' Info (Name, Type, ParentName, Fixity)-_ClassOpI-  = prism remitter reviewer-  where-      remitter (x, y, z, w) = ClassOpI x y z w-      reviewer (ClassOpI x y z w) = Right (x, y, z, w)-      reviewer x = Left x--#else-_ClassI :: Prism' Info (Dec, [Dec])-_ClassI-  = prism remitter reviewer-  where-      remitter (x, y) = ClassI x y-      reviewer (ClassI x y) = Right (x, y)-      reviewer x = Left x--_ClassOpI :: Prism' Info (Name, Type, Name, Fixity)-_ClassOpI-  = prism remitter reviewer-  where-      remitter (x, y, z, w) = ClassOpI x y z w-      reviewer (ClassOpI x y z w) = Right (x, y, z, w)-      reviewer x = Left x-#endif--_TyConI :: Prism' Info Dec-_TyConI-  = prism remitter reviewer-  where-      remitter = TyConI-      reviewer (TyConI x) = Right x-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,8,0)-_FamilyI :: Prism' Info (Dec, [InstanceDec])-_FamilyI-  = prism remitter reviewer-  where-      remitter (x, y) = FamilyI x y-      reviewer (FamilyI x y) = Right (x, y)-      reviewer x = Left x--_PrimTyConI :: Prism' Info (Name, Arity, Unlifted)-_PrimTyConI-  = prism remitter reviewer-  where-      remitter (x, y, z) = PrimTyConI x y z-      reviewer (PrimTyConI x y z) = Right (x, y, z)-      reviewer x = Left x--_DataConI :: Prism' Info (Name, Type, ParentName, Fixity)-_DataConI-  = prism remitter reviewer-  where-      remitter (x, y, z, w) = DataConI x y z w-      reviewer (DataConI x y z w) = Right (x, y, z, w)-      reviewer x = Left x-#else-_FamilyI :: Prism' Info (Dec, [Dec])-_FamilyI-  = prism remitter reviewer-  where-      remitter (x, y) = FamilyI x y-      reviewer (FamilyI x y) = Right (x, y)-      reviewer x = Left x--_PrimTyConI :: Prism' Info (Name, Int, Bool)-_PrimTyConI-  = prism remitter reviewer-  where-      remitter (x, y, z) = PrimTyConI x y z-      reviewer (PrimTyConI x y z) = Right (x, y, z)-      reviewer x = Left x--_DataConI :: Prism' Info (Name, Type, Name, Fixity)-_DataConI-  = prism remitter reviewer-  where-      remitter (x, y, z, w) = DataConI x y z w-      reviewer (DataConI x y z w) = Right (x, y, z, w)-      reviewer x = Left x--#endif--_VarI :: Prism' Info (Name, Type, Maybe Dec, Fixity)-_VarI-  = prism remitter reviewer-  where-      remitter (x, y, z, w) = VarI x y z w-      reviewer (VarI x y z w) = Right (x, y, z, w)-      reviewer x = Left x--_TyVarI :: Prism' Info (Name, Type)-_TyVarI-  = prism remitter reviewer-  where-      remitter (x, y) = TyVarI x y-      reviewer (TyVarI x y) = Right (x, y)-      reviewer x = Left x--_FunD :: Prism' Dec (Name, [Clause])-_FunD-  = prism remitter reviewer-  where-      remitter (x, y) = FunD x y-      reviewer (FunD x y) = Right (x, y)-      reviewer x = Left x--_ValD :: Prism' Dec (Pat, Body, [Dec])-_ValD-  = prism remitter reviewer-  where-      remitter (x, y, z) = ValD x y z-      reviewer (ValD x y z) = Right (x, y, z)-      reviewer x = Left x--_DataD :: Prism' Dec (Cxt, Name, [TyVarBndr], [Con], [Name])-_DataD-  = prism remitter reviewer-  where-      remitter (x, y, z, w, u) = DataD x y z w u-      reviewer (DataD x y z w u) = Right (x, y, z, w, u)-      reviewer x = Left x--_NewtypeD :: Prism' Dec (Cxt, Name, [TyVarBndr], Con, [Name])-_NewtypeD-  = prism remitter reviewer-  where-      remitter (x, y, z, w, u) = NewtypeD x y z w u-      reviewer (NewtypeD x y z w u) = Right (x, y, z, w, u)-      reviewer x = Left x--_TySynD :: Prism' Dec (Name, [TyVarBndr], Type)-_TySynD-  = prism remitter reviewer-  where-      remitter (x, y, z) = TySynD x y z-      reviewer (TySynD x y z) = Right (x, y, z)-      reviewer x = Left x--_ClassD :: Prism' Dec (Cxt, Name, [TyVarBndr], [FunDep], [Dec])-_ClassD-  = prism remitter reviewer-  where-      remitter (x, y, z, w, u) = ClassD x y z w u-      reviewer (ClassD x y z w u) = Right (x, y, z, w, u)-      reviewer x = Left x--_InstanceD :: Prism' Dec (Cxt, Type, [Dec])-_InstanceD-  = prism remitter reviewer-  where-      remitter (x, y, z) = InstanceD x y z-      reviewer (InstanceD x y z) = Right (x, y, z)-      reviewer x = Left x--_SigD :: Prism' Dec (Name, Type)-_SigD-  = prism remitter reviewer-  where-      remitter (x, y) = SigD x y-      reviewer (SigD x y) = Right (x, y)-      reviewer x = Left x--_ForeignD :: Prism' Dec Foreign-_ForeignD-  = prism remitter reviewer-  where-      remitter = ForeignD-      reviewer (ForeignD x) = Right x-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,8,0)-_InfixD :: Prism' Dec (Fixity, Name)-_InfixD-  = prism remitter reviewer-  where-      remitter (x, y) = InfixD x y-      reviewer (InfixD x y) = Right (x, y)-      reviewer x = Left x-#endif--_PragmaD :: Prism' Dec Pragma-_PragmaD-  = prism remitter reviewer-  where-      remitter = PragmaD-      reviewer (PragmaD x) = Right x-      reviewer x = Left x--_FamilyD :: Prism' Dec (FamFlavour, Name, [TyVarBndr], Maybe Kind)-_FamilyD-  = prism remitter reviewer-  where-      remitter (x, y, z, w) = FamilyD x y z w-      reviewer (FamilyD x y z w) = Right (x, y, z, w)-      reviewer x = Left x--_DataInstD :: Prism' Dec (Cxt, Name, [Type], [Con], [Name])-_DataInstD-  = prism remitter reviewer-  where-      remitter (x, y, z, w, u) = DataInstD x y z w u-      reviewer (DataInstD x y z w u) = Right (x, y, z, w, u)-      reviewer x = Left x--_NewtypeInstD :: Prism' Dec (Cxt, Name, [Type], Con, [Name])-_NewtypeInstD-  = prism remitter reviewer-  where-      remitter (x, y, z, w, u) = NewtypeInstD x y z w u-      reviewer (NewtypeInstD x y z w u) = Right (x, y, z, w, u)-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,9,0)-_TySynInstD :: Prism' Dec (Name, TySynEqn)-_TySynInstD-  = prism remitter reviewer-  where-      remitter (x, y) = TySynInstD x y-      reviewer (TySynInstD x y) = Right (x, y)-      reviewer x = Left x--_ClosedTypeFamilyD :: Prism' Dec (Name, [TyVarBndr], Maybe Kind, [TySynEqn])-_ClosedTypeFamilyD-  = prism remitter reviewer-  where-      remitter (x, y, z, w) = ClosedTypeFamilyD x y z w-      reviewer (ClosedTypeFamilyD x y z w) = Right (x, y, z, w)-      reviewer x = Left x--_RoleAnnotD :: Prism' Dec (Name, [Role])-_RoleAnnotD-  = prism remitter reviewer-  where-      remitter (x, y) = RoleAnnotD x y-      reviewer (RoleAnnotD x y) = Right (x, y)-      reviewer x = Left x--#else-_TySynInstD :: Prism' Dec (Name, [Type], Type)-_TySynInstD-  = prism remitter reviewer-  where-      remitter (x, y, z) = TySynInstD x y z-      reviewer (TySynInstD x y z) = Right (x, y, z)-      reviewer x = Left x-#endif--_NormalC ::-  Prism' Con (Name, [StrictType])-_NormalC-  = prism remitter reviewer-  where-      remitter (x, y) = NormalC x y-      reviewer (NormalC x y) = Right (x, y)-      reviewer x = Left x--_RecC ::-  Prism' Con (Name, [VarStrictType])-_RecC-  = prism remitter reviewer-  where-      remitter (x, y) = RecC x y-      reviewer (RecC x y) = Right (x, y)-      reviewer x = Left x--_InfixC ::-  Prism' Con (StrictType,-              Name,-              StrictType)-_InfixC-  = prism remitter reviewer-  where-      remitter (x, y, z)-        = InfixC x y z-      reviewer (InfixC x y z)-        = Right (x, y, z)-      reviewer x = Left x--_ForallC :: Prism' Con ([TyVarBndr], Cxt, Con)-_ForallC-  = prism remitter reviewer-  where-      remitter (x, y, z)-        = ForallC x y z-      reviewer (ForallC x y z)-        = Right (x, y, z)-      reviewer x = Left x--_IsStrict :: Prism' Strict ()-_IsStrict-  = prism remitter reviewer-  where-      remitter () = IsStrict-      reviewer IsStrict = Right ()-      reviewer x = Left x--_NotStrict :: Prism' Strict ()-_NotStrict-  = prism remitter reviewer-  where-      remitter () = NotStrict-      reviewer NotStrict = Right ()-      reviewer x = Left x--_Unpacked :: Prism' Strict ()-_Unpacked-  = prism remitter reviewer-  where-      remitter () = Unpacked-      reviewer Unpacked = Right ()-      reviewer x = Left x--_ImportF :: Prism' Foreign (Callconv, Safety, String, Name, Type)-_ImportF-  = prism remitter reviewer-  where-      remitter (x, y, z, w, u)-        = ImportF x y z w u-      reviewer (ImportF x y z w u)-        = Right (x, y, z, w, u)-      reviewer x = Left x--_ExportF :: Prism' Foreign (Callconv, String, Name, Type)-_ExportF-  = prism remitter reviewer-  where-      remitter (x, y, z, w)-        = ExportF x y z w-      reviewer (ExportF x y z w)-        = Right (x, y, z, w)-      reviewer x = Left x--_CCall :: Prism' Callconv ()-_CCall-  = prism remitter reviewer-  where-      remitter () = CCall-      reviewer CCall = Right ()-      reviewer x = Left x--_StdCall :: Prism' Callconv ()-_StdCall-  = prism remitter reviewer-  where-      remitter () = StdCall-      reviewer StdCall = Right ()-      reviewer x = Left x--_Unsafe :: Prism' Safety ()-_Unsafe-  = prism remitter reviewer-  where-      remitter () = Unsafe-      reviewer Unsafe = Right ()-      reviewer x = Left x--_Safe :: Prism' Safety ()-_Safe-  = prism remitter reviewer-  where-      remitter () = Safe-      reviewer Safe = Right ()-      reviewer x = Left x--_Interruptible :: Prism' Safety ()-_Interruptible-  = prism remitter reviewer-  where-      remitter () = Interruptible-      reviewer Interruptible = Right ()-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,8,0)-_InlineP :: Prism' Pragma (Name, Inline, RuleMatch, Phases)-_InlineP-  = prism remitter reviewer-  where-      remitter (x, y, z, w)-        = InlineP x y z w-      reviewer (InlineP x y z w)-        = Right (x, y, z, w)-      reviewer x = Left x--_SpecialiseP :: Prism' Pragma (Name, Type, Maybe Inline, Phases)-_SpecialiseP-  = prism remitter reviewer-  where-      remitter (x, y, z, w)-        = SpecialiseP x y z w-      reviewer (SpecialiseP x y z w)-        = Right (x, y, z, w)-      reviewer x = Left x-#else-_InlineP :: Prism' Pragma (Name, InlineSpec)-_InlineP-  = prism remitter reviewer-  where-      remitter (x, y)-        = InlineP x y-      reviewer (InlineP x y)-        = Right (x, y)-      reviewer x = Left x--_SpecialiseP :: Prism' Pragma (Name, Type, Maybe InlineSpec)-_SpecialiseP-  = prism remitter reviewer-  where-      remitter (x, y, z)-        = SpecialiseP x y z-      reviewer (SpecialiseP x y z)-        = Right (x, y, z)-      reviewer x = Left x---- TODO add lenses for InlineSpec-#endif--#if MIN_VERSION_template_haskell(2,8,0)-_SpecialiseInstP :: Prism' Pragma Type-_SpecialiseInstP-  = prism remitter reviewer-  where-      remitter = SpecialiseInstP-      reviewer (SpecialiseInstP x) = Right x-      reviewer x = Left x--_RuleP :: Prism' Pragma (String, [RuleBndr], Exp, Exp, Phases)-_RuleP-  = prism remitter reviewer-  where-      remitter (x, y, z, w, u)-        = RuleP x y z w u-      reviewer (RuleP x y z w u)-        = Right (x, y, z, w, u)-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,9,0)-_AnnP :: Prism' Pragma (AnnTarget, Exp)-_AnnP-  = prism remitter reviewer-  where-      remitter (x, y) = AnnP x y-      reviewer (AnnP x y) = Right (x, y)-      reviewer x = Left x-#endif--_NoInline :: Prism' Inline ()-_NoInline-  = prism remitter reviewer-  where-      remitter () = NoInline-      reviewer NoInline = Right ()-      reviewer x = Left x--_Inline :: Prism' Inline ()-_Inline-  = prism remitter reviewer-  where-      remitter () = Inline-      reviewer Inline = Right ()-      reviewer x = Left x--_Inlinable :: Prism' Inline ()-_Inlinable-  = prism remitter reviewer-  where-      remitter () = Inlinable-      reviewer Inlinable = Right ()-      reviewer x = Left x--_ConLike :: Prism' RuleMatch ()-_ConLike-  = prism remitter reviewer-  where-      remitter () = ConLike-      reviewer ConLike = Right ()-      reviewer x = Left x--_FunLike :: Prism' RuleMatch ()-_FunLike-  = prism remitter reviewer-  where-      remitter () = FunLike-      reviewer FunLike = Right ()-      reviewer x = Left x--_AllPhases :: Prism' Phases ()-_AllPhases-  = prism remitter reviewer-  where-      remitter () = AllPhases-      reviewer AllPhases = Right ()-      reviewer x = Left x--_FromPhase :: Prism' Phases Int-_FromPhase-  = prism remitter reviewer-  where-      remitter = FromPhase-      reviewer (FromPhase x) = Right x-      reviewer x = Left x--_BeforePhase :: Prism' Phases Int-_BeforePhase-  = prism remitter reviewer-  where-      remitter = BeforePhase-      reviewer (BeforePhase x) = Right x-      reviewer x = Left x--_RuleVar :: Prism' RuleBndr Name-_RuleVar-  = prism remitter reviewer-  where-      remitter = RuleVar-      reviewer (RuleVar x) = Right x-      reviewer x = Left x--_TypedRuleVar :: Prism' RuleBndr (Name, Type)-_TypedRuleVar-  = prism remitter reviewer-  where-      remitter (x, y) = TypedRuleVar x y-      reviewer (TypedRuleVar x y) = Right (x, y)-      reviewer x = Left x-#endif--#if MIN_VERSION_template_haskell(2,9,0)-_ModuleAnnotation :: Prism' AnnTarget ()-_ModuleAnnotation-  = prism remitter reviewer-  where-      remitter () = ModuleAnnotation-      reviewer ModuleAnnotation-        = Right ()-      reviewer x = Left x--_TypeAnnotation :: Prism' AnnTarget Name-_TypeAnnotation-  = prism remitter reviewer-  where-      remitter = TypeAnnotation-      reviewer (TypeAnnotation x)-        = Right x-      reviewer x = Left x--_ValueAnnotation :: Prism' AnnTarget Name-_ValueAnnotation-  = prism remitter reviewer-  where-      remitter = ValueAnnotation-      reviewer (ValueAnnotation x) = Right x-      reviewer x = Left x-#endif--_FunDep :: Prism' FunDep ([Name], [Name])-_FunDep-  = prism remitter reviewer-  where-      remitter (x, y) = FunDep x y-      reviewer (FunDep x y) = Right (x, y)--_TypeFam :: Prism' FamFlavour ()-_TypeFam-  = prism remitter reviewer-  where-      remitter () = TypeFam-      reviewer TypeFam = Right ()-      reviewer x = Left x--_DataFam :: Prism' FamFlavour ()-_DataFam-  = prism remitter reviewer-  where-      remitter () = DataFam-      reviewer DataFam = Right ()-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,9,0)-tySynEqnPatterns :: Lens' TySynEqn [Type]-tySynEqnPatterns = lens g s where-   g (TySynEqn xs _)    = xs-   s (TySynEqn _  y) xs = TySynEqn xs y--tySynEqnResult :: Lens' TySynEqn Type-tySynEqnResult = lens g s where-   g (TySynEqn _  x) = x-   s (TySynEqn xs _) = TySynEqn xs-#endif--_InfixL :: Prism' FixityDirection ()-_InfixL-  = prism remitter reviewer-  where-      remitter () = InfixL-      reviewer InfixL = Right ()-      reviewer x = Left x--_InfixR :: Prism' FixityDirection ()-_InfixR-  = prism remitter reviewer-  where-      remitter () = InfixR-      reviewer InfixR = Right ()-      reviewer x = Left x--_InfixN :: Prism' FixityDirection ()-_InfixN-  = prism remitter reviewer-  where-      remitter () = InfixN-      reviewer InfixN = Right ()-      reviewer x = Left x--_VarE :: Prism' Exp Name-_VarE-  = prism remitter reviewer-  where-      remitter = VarE-      reviewer (VarE x) = Right x-      reviewer x = Left x--_ConE :: Prism' Exp Name-_ConE-  = prism remitter reviewer-  where-      remitter = ConE-      reviewer (ConE x) = Right x-      reviewer x = Left x--_LitE :: Prism' Exp Lit-_LitE-  = prism remitter reviewer-  where-      remitter = LitE-      reviewer (LitE x) = Right x-      reviewer x = Left x--_AppE :: Prism' Exp (Exp, Exp)-_AppE-  = prism remitter reviewer-  where-      remitter (x, y) = AppE x y-      reviewer (AppE x y) = Right (x, y)-      reviewer x = Left x--_InfixE :: Prism' Exp (Maybe Exp, Exp, Maybe Exp)-_InfixE-  = prism remitter reviewer-  where-      remitter (x, y, z)-        = InfixE x y z-      reviewer (InfixE x y z)-        = Right (x, y, z)-      reviewer x = Left x--_UInfixE :: Prism' Exp (Exp, Exp, Exp)-_UInfixE-  = prism remitter reviewer-  where-      remitter (x, y, z)-        = UInfixE x y z-      reviewer (UInfixE x y z)-        = Right (x, y, z)-      reviewer x = Left x--_ParensE :: Prism' Exp Exp-_ParensE-  = prism remitter reviewer-  where-      remitter = ParensE-      reviewer (ParensE x) = Right x-      reviewer x = Left x--_LamE :: Prism' Exp ([Pat], Exp)-_LamE-  = prism remitter reviewer-  where-      remitter (x, y) = LamE x y-      reviewer (LamE x y) = Right (x, y)-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,8,0)-_LamCaseE :: Prism' Exp [Match]-_LamCaseE-  = prism remitter reviewer-  where-      remitter = LamCaseE-      reviewer (LamCaseE x) = Right x-      reviewer x = Left x-#endif--_TupE :: Prism' Exp [Exp]-_TupE-  = prism remitter reviewer-  where-      remitter = TupE-      reviewer (TupE x) = Right x-      reviewer x = Left x--_UnboxedTupE :: Prism' Exp [Exp]-_UnboxedTupE-  = prism remitter reviewer-  where-      remitter = UnboxedTupE-      reviewer (UnboxedTupE x) = Right x-      reviewer x = Left x--_CondE :: Prism' Exp (Exp, Exp, Exp)-_CondE-  = prism remitter reviewer-  where-      remitter (x, y, z)-        = CondE x y z-      reviewer (CondE x y z)-        = Right (x, y, z)-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,8,0)-_MultiIfE :: Prism' Exp [(Guard, Exp)]-_MultiIfE-  = prism remitter reviewer-  where-      remitter = MultiIfE-      reviewer (MultiIfE x) = Right x-      reviewer x = Left x-#endif--_LetE :: Prism' Exp ([Dec], Exp)-_LetE-  = prism remitter reviewer-  where-      remitter (x, y) = LetE x y-      reviewer (LetE x y) = Right (x, y)-      reviewer x = Left x--_CaseE :: Prism' Exp (Exp, [Match])-_CaseE-  = prism remitter reviewer-  where-      remitter (x, y) = CaseE x y-      reviewer (CaseE x y) = Right (x, y)-      reviewer x = Left x--_DoE :: Prism' Exp [Stmt]-_DoE-  = prism remitter reviewer-  where-      remitter = DoE-      reviewer (DoE x) = Right x-      reviewer x = Left x--_CompE :: Prism' Exp [Stmt]-_CompE-  = prism remitter reviewer-  where-      remitter = CompE-      reviewer (CompE x) = Right x-      reviewer x = Left x--_ArithSeqE :: Prism' Exp Range-_ArithSeqE-  = prism remitter reviewer-  where-      remitter = ArithSeqE-      reviewer (ArithSeqE x) = Right x-      reviewer x = Left x--_ListE :: Prism' Exp [Exp]-_ListE-  = prism remitter reviewer-  where-      remitter = ListE-      reviewer (ListE x) = Right x-      reviewer x = Left x--_SigE :: Prism' Exp (Exp, Type)-_SigE-  = prism remitter reviewer-  where-      remitter (x, y) = SigE x y-      reviewer (SigE x y) = Right (x, y)-      reviewer x = Left x--_RecConE :: Prism' Exp (Name, [FieldExp])-_RecConE-  = prism remitter reviewer-  where-      remitter (x, y) = RecConE x y-      reviewer (RecConE x y) = Right (x, y)-      reviewer x = Left x--_RecUpdE :: Prism' Exp (Exp, [FieldExp])-_RecUpdE-  = prism remitter reviewer-  where-      remitter (x, y) = RecUpdE x y-      reviewer (RecUpdE x y) = Right (x, y)-      reviewer x = Left x--_GuardedB :: Prism' Body [(Guard, Exp)]-_GuardedB-  = prism remitter reviewer-  where-      remitter = GuardedB-      reviewer (GuardedB x) = Right x-      reviewer x = Left x--_NormalB :: Prism' Body Exp-_NormalB-  = prism remitter reviewer-  where-      remitter = NormalB-      reviewer (NormalB x) = Right x-      reviewer x = Left x--_NormalG :: Prism' Guard Exp-_NormalG-  = prism remitter reviewer-  where-      remitter = NormalG-      reviewer (NormalG x) = Right x-      reviewer x = Left x--_PatG :: Prism' Guard [Stmt]-_PatG-  = prism remitter reviewer-  where-      remitter = PatG-      reviewer (PatG x) = Right x-      reviewer x = Left x--_BindS :: Prism' Stmt (Pat, Exp)-_BindS-  = prism remitter reviewer-  where-      remitter (x, y) = BindS x y-      reviewer (BindS x y) = Right (x, y)-      reviewer x = Left x--_LetS :: Prism' Stmt [Dec]-_LetS-  = prism remitter reviewer-  where-      remitter = LetS-      reviewer (LetS x) = Right x-      reviewer x = Left x--_NoBindS :: Prism' Stmt Exp-_NoBindS-  = prism remitter reviewer-  where-      remitter = NoBindS-      reviewer (NoBindS x) = Right x-      reviewer x = Left x--_ParS :: Prism' Stmt [[Stmt]]-_ParS-  = prism remitter reviewer-  where-      remitter = ParS-      reviewer (ParS x) = Right x-      reviewer x = Left x--_FromR :: Prism' Range Exp-_FromR-  = prism remitter reviewer-  where-      remitter = FromR-      reviewer (FromR x) = Right x-      reviewer x = Left x--_FromThenR :: Prism' Range (Exp, Exp)-_FromThenR-  = prism remitter reviewer-  where-      remitter (x, y) = FromThenR x y-      reviewer (FromThenR x y)-        = Right (x, y)-      reviewer x = Left x--_FromToR :: Prism' Range (Exp, Exp)-_FromToR-  = prism remitter reviewer-  where-      remitter (x, y) = FromToR x y-      reviewer (FromToR x y) = Right (x, y)-      reviewer x = Left x--_FromThenToR :: Prism' Range (Exp, Exp, Exp)-_FromThenToR-  = prism remitter reviewer-  where-      remitter (x, y, z)-        = FromThenToR x y z-      reviewer (FromThenToR x y z)-        = Right (x, y, z)-      reviewer x = Left x--_CharL :: Prism' Lit Char-_CharL-  = prism remitter reviewer-  where-      remitter = CharL-      reviewer (CharL x) = Right x-      reviewer x = Left x--_StringL :: Prism' Lit String-_StringL-  = prism remitter reviewer-  where-      remitter = StringL-      reviewer (StringL x) = Right x-      reviewer x = Left x--_IntegerL :: Prism' Lit Integer-_IntegerL-  = prism remitter reviewer-  where-      remitter = IntegerL-      reviewer (IntegerL x) = Right x-      reviewer x = Left x--_RationalL :: Prism' Lit Rational-_RationalL-  = prism remitter reviewer-  where-      remitter = RationalL-      reviewer (RationalL x) = Right x-      reviewer x = Left x--_IntPrimL :: Prism' Lit Integer-_IntPrimL-  = prism remitter reviewer-  where-      remitter = IntPrimL-      reviewer (IntPrimL x) = Right x-      reviewer x = Left x--_WordPrimL :: Prism' Lit Integer-_WordPrimL-  = prism remitter reviewer-  where-      remitter = WordPrimL-      reviewer (WordPrimL x) = Right x-      reviewer x = Left x--_FloatPrimL :: Prism' Lit Rational-_FloatPrimL-  = prism remitter reviewer-  where-      remitter = FloatPrimL-      reviewer (FloatPrimL x) = Right x-      reviewer x = Left x--_DoublePrimL :: Prism' Lit Rational-_DoublePrimL-  = prism remitter reviewer-  where-      remitter = DoublePrimL-      reviewer (DoublePrimL x) = Right x-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,8,0)-_StringPrimL :: Prism' Lit [Word8]-_StringPrimL-  = prism remitter reviewer-  where-      remitter = StringPrimL-      reviewer (StringPrimL x) = Right x-      reviewer x = Left x-#else-_StringPrimL :: Prism' Lit String-_StringPrimL-  = prism remitter reviewer-  where-      remitter = StringPrimL-      reviewer (StringPrimL x) = Right x-      reviewer x = Left x-#endif--_LitP :: Prism' Pat Lit-_LitP-  = prism remitter reviewer-  where-      remitter = LitP-      reviewer (LitP x) = Right x-      reviewer x = Left x--_VarP :: Prism' Pat Name-_VarP-  = prism remitter reviewer-  where-      remitter = VarP-      reviewer (VarP x) = Right x-      reviewer x = Left x--_TupP :: Prism' Pat [Pat]-_TupP-  = prism remitter reviewer-  where-      remitter = TupP-      reviewer (TupP x) = Right x-      reviewer x = Left x--_UnboxedTupP :: Prism' Pat [Pat]-_UnboxedTupP-  = prism remitter reviewer-  where-      remitter = UnboxedTupP-      reviewer (UnboxedTupP x) = Right x-      reviewer x = Left x--_ConP :: Prism' Pat (Name, [Pat])-_ConP-  = prism remitter reviewer-  where-      remitter (x, y) = ConP x y-      reviewer (ConP x y) = Right (x, y)-      reviewer x = Left x--_InfixP :: Prism' Pat (Pat, Name, Pat)-_InfixP-  = prism remitter reviewer-  where-      remitter (x, y, z)-        = InfixP x y z-      reviewer (InfixP x y z)-        = Right (x, y, z)-      reviewer x = Left x-_UInfixP :: Prism' Pat (Pat, Name, Pat)-_UInfixP-  = prism remitter reviewer-  where-      remitter (x, y, z)-        = UInfixP x y z-      reviewer (UInfixP x y z)-        = Right (x, y, z)-      reviewer x = Left x--_ParensP :: Prism' Pat Pat-_ParensP-  = prism remitter reviewer-  where-      remitter = ParensP-      reviewer (ParensP x) = Right x-      reviewer x = Left x--_TildeP :: Prism' Pat Pat-_TildeP-  = prism remitter reviewer-  where-      remitter = TildeP-      reviewer (TildeP x) = Right x-      reviewer x = Left x--_BangP :: Prism' Pat Pat-_BangP-  = prism remitter reviewer-  where-      remitter = BangP-      reviewer (BangP x) = Right x-      reviewer x = Left x--_AsP :: Prism' Pat (Name, Pat)-_AsP-  = prism remitter reviewer-  where-      remitter (x, y) = AsP x y-      reviewer (AsP x y) = Right (x, y)-      reviewer x = Left x--_WildP :: Prism' Pat ()-_WildP-  = prism remitter reviewer-  where-      remitter () = WildP-      reviewer WildP = Right ()-      reviewer x = Left x--_RecP :: Prism' Pat (Name, [FieldPat])-_RecP-  = prism remitter reviewer-  where-      remitter (x, y) = RecP x y-      reviewer (RecP x y) = Right (x, y)-      reviewer x = Left x--_ListP :: Prism' Pat [Pat]-_ListP-  = prism remitter reviewer-  where-      remitter = ListP-      reviewer (ListP x) = Right x-      reviewer x = Left x--_SigP :: Prism' Pat (Pat, Type)-_SigP-  = prism remitter reviewer-  where-      remitter (x, y) = SigP x y-      reviewer (SigP x y) = Right (x, y)-      reviewer x = Left x--_ViewP :: Prism' Pat (Exp, Pat)-_ViewP-  = prism remitter reviewer-  where-      remitter (x, y) = ViewP x y-      reviewer (ViewP x y) = Right (x, y)-      reviewer x = Left x--_ForallT :: Prism' Type ([TyVarBndr], Cxt, Type)-_ForallT-  = prism remitter reviewer-  where-      remitter (x, y, z)-        = ForallT x y z-      reviewer (ForallT x y z)-        = Right (x, y, z)-      reviewer x = Left x--_AppT :: Prism' Type (Type, Type)-_AppT-  = prism remitter reviewer-  where-      remitter (x, y) = AppT x y-      reviewer (AppT x y) = Right (x, y)-      reviewer x = Left x--_SigT :: Prism' Type (Type, Kind)-_SigT-  = prism remitter reviewer-  where-      remitter (x, y) = SigT x y-      reviewer (SigT x y) = Right (x, y)-      reviewer x = Left x--_VarT :: Prism' Type Name-_VarT-  = prism remitter reviewer-  where-      remitter = VarT-      reviewer (VarT x) = Right x-      reviewer x = Left x--_ConT :: Prism' Type Name-_ConT-  = prism remitter reviewer-  where-      remitter = ConT-      reviewer (ConT x) = Right x-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,8,0)-_PromotedT :: Prism' Type Name-_PromotedT-  = prism remitter reviewer-  where-      remitter = PromotedT-      reviewer (PromotedT x) = Right x-      reviewer x = Left x-#endif--_TupleT :: Prism' Type Int-_TupleT-  = prism remitter reviewer-  where-      remitter = TupleT-      reviewer (TupleT x) = Right x-      reviewer x = Left x--_UnboxedTupleT :: Prism' Type Int-_UnboxedTupleT-  = prism remitter reviewer-  where-      remitter = UnboxedTupleT-      reviewer (UnboxedTupleT x) = Right x-      reviewer x = Left x--_ArrowT :: Prism' Type ()-_ArrowT-  = prism remitter reviewer-  where-      remitter () = ArrowT-      reviewer ArrowT = Right ()-      reviewer x = Left x--_ListT :: Prism' Type ()-_ListT-  = prism remitter reviewer-  where-      remitter () = ListT-      reviewer ListT = Right ()-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,8,0)-_PromotedTupleT :: Prism' Type Int-_PromotedTupleT-  = prism remitter reviewer-  where-      remitter = PromotedTupleT-      reviewer (PromotedTupleT x) = Right x-      reviewer x = Left x--_PromotedNilT :: Prism' Type ()-_PromotedNilT-  = prism remitter reviewer-  where-      remitter () = PromotedNilT-      reviewer PromotedNilT = Right ()-      reviewer x = Left x--_PromotedConsT :: Prism' Type ()-_PromotedConsT-  = prism remitter reviewer-  where-      remitter () = PromotedConsT-      reviewer PromotedConsT = Right ()-      reviewer x = Left x--_StarT :: Prism' Type ()-_StarT-  = prism remitter reviewer-  where-      remitter () = StarT-      reviewer StarT = Right ()-      reviewer x = Left x--_ConstraintT :: Prism' Type ()-_ConstraintT-  = prism remitter reviewer-  where-      remitter () = ConstraintT-      reviewer ConstraintT = Right ()-      reviewer x = Left x--_LitT :: Prism' Type TyLit-_LitT-  = prism remitter reviewer-  where-      remitter = LitT-      reviewer (LitT x) = Right x-      reviewer x = Left x-#endif--_PlainTV :: Prism' TyVarBndr Name-_PlainTV-  = prism remitter reviewer-  where-      remitter = PlainTV-      reviewer (PlainTV x) = Right x-      reviewer x = Left x--_KindedTV :: Prism' TyVarBndr (Name, Kind)-_KindedTV-  = prism remitter reviewer-  where-      remitter (x, y) = KindedTV x y-      reviewer (KindedTV x y) = Right (x, y)-      reviewer x = Left x--#if MIN_VERSION_template_haskell(2,8,0)-_NumTyLit :: Prism' TyLit Integer-_NumTyLit-  = prism remitter reviewer-  where-      remitter = NumTyLit-      reviewer (NumTyLit x) = Right x-      reviewer x = Left x--_StrTyLit :: Prism' TyLit String-_StrTyLit-  = prism remitter reviewer-  where-      remitter = StrTyLit-      reviewer (StrTyLit x) = Right x-      reviewer x = Left x-#endif--#if !MIN_VERSION_template_haskell(2,10,0)-_ClassP :: Prism' Pred (Name, [Type])-_ClassP-  = prism remitter reviewer-  where-      remitter (x, y) = ClassP x y-      reviewer (ClassP x y) = Right (x, y)-      reviewer x = Left x--_EqualP :: Prism' Pred (Type, Type)-_EqualP-  = prism remitter reviewer-  where-      remitter (x, y) = EqualP x y-      reviewer (EqualP x y) = Right (x, y)-      reviewer x = Left x-#endif--#if MIN_VERSION_template_haskell(2,9,0)-_NominalR :: Prism' Role ()-_NominalR-  = prism remitter reviewer-  where-      remitter () = NominalR-      reviewer NominalR = Right ()-      reviewer x = Left x--_RepresentationalR :: Prism' Role ()-_RepresentationalR-  = prism remitter reviewer-  where-      remitter () = RepresentationalR-      reviewer RepresentationalR = Right ()-      reviewer x = Left x--_PhantomR :: Prism' Role ()-_PhantomR-  = prism remitter reviewer-  where-      remitter () = PhantomR-      reviewer PhantomR = Right ()-      reviewer x = Left x--_InferR :: Prism' Role ()-_InferR-  = prism remitter reviewer-  where-      remitter () = InferR-      reviewer InferR = Right ()-      reviewer x = Left x+  , HasTypes(..)+  , HasTypeVars(..)+  , SubstType(..)+  , typeVars      -- :: HasTypeVars t => Traversal' t Name+  , substTypeVars -- :: HasTypeVars t => Map Name Name -> t -> t+  , conFields+  , conNamedFields+  -- * Lenses+  -- ** Loc Lenses+  , locFileName+  , locPackage+  , locModule+  , locStart+  , locEnd+  -- ** FunDep Lenses+  , funDepInputs+  , funDepOutputs+  -- ** Match Lenses+  , matchPattern+  , matchBody+  , matchDeclarations+  -- ** Fixity Lenses+  , fixityPrecedence+  , fixityDirection+  -- ** Clause Lenses+  , clausePattern+  , clauseBody+  , clauseDecs+  -- ** FieldExp Lenses+  , fieldExpName+  , fieldExpExpression+  -- ** FieldPat Lenses+  , fieldPatName+  , fieldPatPattern+#if MIN_VERSION_template_haskell(2,9,0)+  -- ** TySynEqn Lenses+  , tySynEqnPatterns+  , tySynEqnResult+#endif+  -- * Prisms+  -- ** Info Prisms+  , _ClassI+  , _ClassOpI+  , _TyConI+  , _FamilyI+  , _PrimTyConI+  , _DataConI+  , _VarI+  , _TyVarI+  -- ** Dec Prisms+  , _FunD+  , _ValD+  , _DataD+  , _NewtypeD+  , _TySynD+  , _ClassD+  , _InstanceD+  , _SigD+  , _ForeignD+#if MIN_VERSION_template_haskell(2,8,0)+  , _InfixD+#endif+  , _PragmaD+  , _FamilyD+  , _DataInstD+  , _NewtypeInstD+  , _TySynInstD+#if MIN_VERSION_template_haskell(2,9,0)+  , _ClosedTypeFamilyD+  , _RoleAnnotD+#endif+#if MIN_VERSION_template_haskell(2,10,0)+  , _StandaloneDerivD+  , _DefaultSigD+#endif+  -- ** Con Prisms+  , _NormalC+  , _RecC+  , _InfixC+  , _ForallC+  -- ** Strict Prisms+  , _IsStrict+  , _NotStrict+  , _Unpacked+  -- ** Foreign Prisms+  , _ImportF+  , _ExportF+  -- ** Callconv Prisms+  , _CCall+  , _StdCall+#if MIN_VERSION_template_haskell(2,10,0)+  , _CApi+  , _Prim+  , _JavaScript+#endif+  -- ** Safety Prisms+  , _Unsafe+  , _Safe+  , _Interruptible+  -- ** Pragma Prisms+  , _InlineP+  , _SpecialiseP+#if MIN_VERSION_template_haskell(2,8,0)+  , _SpecialiseInstP+  , _RuleP+#if MIN_VERSION_template_haskell(2,9,0)+  , _AnnP+#endif+#if MIN_VERSION_template_haskell(2,10,0)+  , _LineP+#endif+  -- ** Inline Prisms+  , _NoInline+  , _Inline+  , _Inlinable+  -- ** RuleMatch Prisms+  , _ConLike+  , _FunLike+  -- ** Phases Prisms+  , _AllPhases+  , _FromPhase+  , _BeforePhase+  -- ** RuleBndr Prisms+  , _RuleVar+  , _TypedRuleVar+#endif+#if MIN_VERSION_template_haskell(2,9,0)+  -- ** AnnTarget Prisms+  , _ModuleAnnotation+  , _TypeAnnotation+  , _ValueAnnotation+#endif+  -- ** FunDep Prisms TODO make a lens+  , _FunDep+  -- ** FamFlavour Prisms+  , _TypeFam+  , _DataFam+  -- ** FixityDirection Prisms+  , _InfixL+  , _InfixR+  , _InfixN+  -- ** Exp Prisms+  , _VarE+  , _ConE+  , _LitE+  , _AppE+  , _InfixE+  , _UInfixE+  , _ParensE+  , _LamE+#if MIN_VERSION_template_haskell(2,8,0)+  , _LamCaseE+#endif+  , _TupE+  , _UnboxedTupE+  , _CondE+#if MIN_VERSION_template_haskell(2,8,0)+  , _MultiIfE+#endif+  , _LetE+  , _CaseE+  , _DoE+  , _CompE+  , _ArithSeqE+  , _ListE+  , _SigE+  , _RecConE+  , _RecUpdE+#if MIN_VERSION_template_haskell(2,10,0)+  , _StaticE+#endif+  -- ** Body Prisms+  , _GuardedB+  , _NormalB+  -- ** Guard Prisms+  , _NormalG+  , _PatG+  -- ** Stmt Prisms+  , _BindS+  , _LetS+  , _NoBindS+  , _ParS+  -- ** Range Prisms+  , _FromR+  , _FromThenR+  , _FromToR+  , _FromThenToR+  -- ** Lit Prisms+  , _CharL+  , _StringL+  , _IntegerL+  , _RationalL+  , _IntPrimL+  , _WordPrimL+  , _FloatPrimL+  , _DoublePrimL+  , _StringPrimL+  -- ** Pat Prisms+  , _LitP+  , _VarP+  , _TupP+  , _UnboxedTupP+  , _ConP+  , _InfixP+  , _UInfixP+  , _ParensP+  , _TildeP+  , _BangP+  , _AsP+  , _WildP+  , _RecP+  , _ListP+  , _SigP+  , _ViewP+  -- ** Type Prisms+  , _ForallT+  , _AppT+  , _SigT+  , _VarT+  , _ConT+#if MIN_VERSION_template_haskell(2,8,0)+  , _PromotedT+#endif+  , _TupleT+  , _UnboxedTupleT+  , _ArrowT+#if MIN_VERSION_template_haskell(2,10,0)+  , _EqualityT+#endif+  , _ListT+#if MIN_VERSION_template_haskell(2,8,0)+  , _PromotedTupleT+  , _PromotedNilT+  , _PromotedConsT+  , _StarT+  , _ConstraintT+  , _LitT+#endif+  -- ** TyVarBndr Prisms+  , _PlainTV+  , _KindedTV+#if MIN_VERSION_template_haskell(2,8,0)+  -- ** TyLit Prisms+  , _NumTyLit+  , _StrTyLit+#endif+#if !MIN_VERSION_template_haskell(2,10,0)+  -- ** Pred Prisms+  , _ClassP+  , _EqualP+#endif+#if MIN_VERSION_template_haskell(2,9,0)+  -- ** Role Prisms+  , _NominalR+  , _RepresentationalR+  , _PhantomR+  , _InferR+#endif+  ) where++import Control.Applicative+import Control.Lens.At+import Control.Lens.Getter+import Control.Lens.Setter+import Control.Lens.Fold+import Control.Lens.Iso (Iso', iso)+import Control.Lens.Lens+import Control.Lens.Prism+import Control.Lens.Tuple+import Control.Lens.Traversal+import Data.Map as Map hiding (toList,map)+import Data.Maybe (fromMaybe)+import Data.Monoid+import Data.Set as Set hiding (toList,map)+import Data.Set.Lens+import Language.Haskell.TH+import Language.Haskell.TH.Syntax+#if MIN_VERSION_template_haskell(2,8,0)+import Data.Word+#endif+import Prelude++-- | Has a 'Name'+class HasName t where+  -- | Extract (or modify) the 'Name' of something+  name :: Lens' t Name++instance HasName TyVarBndr where+  name f (PlainTV n) = PlainTV <$> f n+  name f (KindedTV n k) = (`KindedTV` k) <$> f n++instance HasName Name where+  name = id++instance HasName Con where+  name f (NormalC n tys)       = (`NormalC` tys) <$> f n+  name f (RecC n tys)          = (`RecC` tys) <$> f n+  name f (InfixC l n r)        = (\n' -> InfixC l n' r) <$> f n+  name f (ForallC bds ctx con) = ForallC bds ctx <$> name f con++-- | Contains some amount of `Type`s inside+class HasTypes t where+  -- | Traverse all the types+  types :: Traversal' t Type++instance HasTypes Type where+  types = id++instance HasTypes Con where+  types f (NormalC n t)      = NormalC n <$> traverse (_2 (types f)) t+  types f (RecC n t)         = RecC n <$> traverse (_3 (types f)) t+  types f (InfixC t1 n t2) = InfixC <$> _2 (types f) t1+                                       <*> pure n <*> _2 (types f) t2+  types f (ForallC vb ctx con)    = ForallC vb ctx <$> types f con++instance HasTypes t => HasTypes [t] where+  types = traverse . types++-- | Provides for the extraction of free type variables, and alpha renaming.+class HasTypeVars t where+  -- | When performing substitution into this traversal you're not allowed+  -- to substitute in a name that is bound internally or you'll violate+  -- the 'Traversal' laws, when in doubt generate your names with 'newName'.+  typeVarsEx :: Set Name -> Traversal' t Name++instance HasTypeVars TyVarBndr where+  typeVarsEx s f b+    | s^.contains (b^.name) = pure b+    | otherwise             = name f b++instance HasTypeVars Name where+  typeVarsEx s f n+    | s^.contains n = pure n+    | otherwise     = f n++instance HasTypeVars Type where+  typeVarsEx s f (VarT n)            = VarT <$> typeVarsEx s f n+  typeVarsEx s f (AppT l r)          = AppT <$> typeVarsEx s f l <*> typeVarsEx s f r+  typeVarsEx s f (SigT t k)          = (`SigT` k) <$> typeVarsEx s f t+  typeVarsEx s f (ForallT bs ctx ty) = ForallT bs <$> typeVarsEx s' f ctx <*> typeVarsEx s' f ty+       where s' = s `Set.union` setOf typeVars bs+  typeVarsEx _ _ t                   = pure t++#if !MIN_VERSION_template_haskell(2,10,0)+instance HasTypeVars Pred where+  typeVarsEx s f (ClassP n ts) = ClassP n <$> typeVarsEx s f ts+  typeVarsEx s f (EqualP l r)  = EqualP <$> typeVarsEx s f l <*> typeVarsEx s f r+#endif++instance HasTypeVars Con where+  typeVarsEx s f (NormalC n ts) = NormalC n <$> traverseOf (traverse . _2) (typeVarsEx s f) ts+  typeVarsEx s f (RecC n ts) = RecC n <$> traverseOf (traverse . _3) (typeVarsEx s f) ts+  typeVarsEx s f (InfixC l n r) = InfixC <$> g l <*> pure n <*> g r+       where g (i, t) = (,) i <$> typeVarsEx s f t+  typeVarsEx s f (ForallC bs ctx c) = ForallC bs <$> typeVarsEx s' f ctx <*> typeVarsEx s' f c+       where s' = s `Set.union` setOf typeVars bs++instance HasTypeVars t => HasTypeVars [t] where+  typeVarsEx s = traverse . typeVarsEx s++instance HasTypeVars t => HasTypeVars (Maybe t) where+  typeVarsEx s = traverse . typeVarsEx s++-- | Traverse /free/ type variables+typeVars :: HasTypeVars t => Traversal' t Name+typeVars = typeVarsEx mempty++-- | Substitute using a map of names in for /free/ type variables+substTypeVars :: HasTypeVars t => Map Name Name -> t -> t+substTypeVars m = over typeVars $ \n -> fromMaybe n (m^.at n)++-- | Provides substitution for types+class SubstType t where+  -- | Perform substitution for types+  substType :: Map Name Type -> t -> t++instance SubstType Type where+  substType m t@(VarT n)          = fromMaybe t (m^.at n)+  substType m (ForallT bs ctx ty) = ForallT bs (substType m' ctx) (substType m' ty)+    where m' = foldrOf typeVars Map.delete m bs+  substType m (SigT t k)          = SigT (substType m t) k+  substType m (AppT l r)          = AppT (substType m l) (substType m r)+  substType _ t                   = t++instance SubstType t => SubstType [t] where+  substType = map . substType++#if !MIN_VERSION_template_haskell(2,10,0)+instance SubstType Pred where+  substType m (ClassP n ts) = ClassP n (substType m ts)+  substType m (EqualP l r)  = substType m (EqualP l r)+#endif++-- | Provides a 'Traversal' of the types of each field of a constructor.+conFields :: Traversal' Con StrictType+conFields f (NormalC n fs)      = NormalC n <$> traverse f fs+conFields f (RecC n fs)         = RecC n <$> traverse sans_var fs+  where sans_var (fn,s,t) = (\(s', t') -> (fn,s',t')) <$> f (s, t)+conFields f (InfixC l n r)      = InfixC <$> f l <*> pure n <*> f r+conFields f (ForallC bds ctx c) = ForallC bds ctx <$> conFields f c++-- | 'Traversal' of the types of the /named/ fields of a constructor.+conNamedFields :: Traversal' Con VarStrictType+conNamedFields f (RecC n fs) = RecC n <$> traverse f fs+conNamedFields f (ForallC a b fs) = ForallC a b <$> conNamedFields f fs+conNamedFields _ c = pure c++-- Lenses and Prisms+locFileName :: Lens' Loc String+locFileName = lens loc_filename+            $ \loc fn -> loc { loc_filename = fn }++locPackage :: Lens' Loc String+locPackage = lens loc_package+           $ \loc fn -> loc { loc_package = fn }++locModule :: Lens' Loc String+locModule = lens loc_module+          $ \loc fn -> loc { loc_module = fn }++locStart :: Lens' Loc CharPos+locStart = lens loc_start+         $ \loc fn -> loc { loc_start = fn }++locEnd :: Lens' Loc CharPos+locEnd = lens loc_end+       $ \loc fn -> loc { loc_end = fn }++funDepInputs :: Lens' FunDep [Name]+funDepInputs = lens g s where+   g (FunDep xs _)    = xs+   s (FunDep _ ys) xs = FunDep xs ys++funDepOutputs :: Lens' FunDep [Name]+funDepOutputs = lens g s where+   g (FunDep _ xs) = xs+   s (FunDep ys _) = FunDep ys++fieldExpName :: Lens' FieldExp Name+fieldExpName = _1++fieldExpExpression :: Lens' FieldExp Exp+fieldExpExpression = _2++fieldPatName :: Lens' FieldPat Name+fieldPatName = _1++fieldPatPattern :: Lens' FieldPat Pat+fieldPatPattern = _2++matchPattern :: Lens' Match Pat+matchPattern = lens g s where+   g (Match p _ _)   = p+   s (Match _ x y) p = Match p x y++matchBody :: Lens' Match Body+matchBody = lens g s where+   g (Match _ b _)   = b+   s (Match x _ y) b = Match x b y++matchDeclarations :: Lens' Match [Dec]+matchDeclarations = lens g s where+   g (Match _ _ ds) = ds+   s (Match x y _ ) = Match x y++fixityPrecedence :: Lens' Fixity Int+fixityPrecedence = lens g s where+   g (Fixity i _)   = i+   s (Fixity _ x) i = Fixity i x++fixityDirection :: Lens' Fixity FixityDirection+fixityDirection = lens g s where+   g (Fixity _ d) = d+   s (Fixity i _) = Fixity i++clausePattern :: Lens' Clause [Pat]+clausePattern = lens g s where+   g (Clause ps _ _)    = ps+   s (Clause _  x y) ps = Clause ps x y++clauseBody :: Lens' Clause Body+clauseBody = lens g s where+   g (Clause _ b _)   = b+   s (Clause x _ y) b = Clause x b y++clauseDecs :: Lens' Clause [Dec]+clauseDecs = lens g s where+   g (Clause _ _ ds) = ds+   s (Clause x y _ ) = Clause x y++#if MIN_VERSION_template_haskell(2,8,0)+_ClassI :: Prism' Info (Dec, [InstanceDec])+_ClassI+  = prism' reviewer remitter+  where+      reviewer (x, y) = ClassI x y+      remitter (ClassI x y) = Just (x, y)+      remitter _ = Nothing++_ClassOpI :: Prism' Info (Name, Type, ParentName, Fixity)+_ClassOpI+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w) = ClassOpI x y z w+      remitter (ClassOpI x y z w) = Just (x, y, z, w)+      remitter _ = Nothing++#else+_ClassI :: Prism' Info (Dec, [Dec])+_ClassI+  = prism' reviewer remitter+  where+      reviewer (x, y) = ClassI x y+      remitter (ClassI x y) = Just (x, y)+      remitter _ = Nothing++_ClassOpI :: Prism' Info (Name, Type, Name, Fixity)+_ClassOpI+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w) = ClassOpI x y z w+      remitter (ClassOpI x y z w) = Just (x, y, z, w)+      remitter _ = Nothing+#endif++_TyConI :: Prism' Info Dec+_TyConI+  = prism' reviewer remitter+  where+      reviewer = TyConI+      remitter (TyConI x) = Just x+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,8,0)+_FamilyI :: Prism' Info (Dec, [InstanceDec])+_FamilyI+  = prism' reviewer remitter+  where+      reviewer (x, y) = FamilyI x y+      remitter (FamilyI x y) = Just (x, y)+      remitter _ = Nothing++_PrimTyConI :: Prism' Info (Name, Arity, Unlifted)+_PrimTyConI+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = PrimTyConI x y z+      remitter (PrimTyConI x y z) = Just (x, y, z)+      remitter _ = Nothing++_DataConI :: Prism' Info (Name, Type, ParentName, Fixity)+_DataConI+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w) = DataConI x y z w+      remitter (DataConI x y z w) = Just (x, y, z, w)+      remitter _ = Nothing+#else+_FamilyI :: Prism' Info (Dec, [Dec])+_FamilyI+  = prism' reviewer remitter+  where+      reviewer (x, y) = FamilyI x y+      remitter (FamilyI x y) = Just (x, y)+      remitter _ = Nothing++_PrimTyConI :: Prism' Info (Name, Int, Bool)+_PrimTyConI+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = PrimTyConI x y z+      remitter (PrimTyConI x y z) = Just (x, y, z)+      remitter _ = Nothing++_DataConI :: Prism' Info (Name, Type, Name, Fixity)+_DataConI+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w) = DataConI x y z w+      remitter (DataConI x y z w) = Just (x, y, z, w)+      remitter _ = Nothing++#endif++_VarI :: Prism' Info (Name, Type, Maybe Dec, Fixity)+_VarI+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w) = VarI x y z w+      remitter (VarI x y z w) = Just (x, y, z, w)+      remitter _ = Nothing++_TyVarI :: Prism' Info (Name, Type)+_TyVarI+  = prism' reviewer remitter+  where+      reviewer (x, y) = TyVarI x y+      remitter (TyVarI x y) = Just (x, y)+      remitter _ = Nothing++_FunD :: Prism' Dec (Name, [Clause])+_FunD+  = prism' reviewer remitter+  where+      reviewer (x, y) = FunD x y+      remitter (FunD x y) = Just (x,y)+      remitter _ = Nothing++_ValD :: Prism' Dec (Pat, Body, [Dec])+_ValD+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = ValD x y z+      remitter (ValD x y z) = Just (x, y, z)+      remitter _ = Nothing++_DataD :: Prism' Dec (Cxt, Name, [TyVarBndr], [Con], [Name])+_DataD+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w, u) = DataD x y z w u+      remitter (DataD x y z w u) = Just (x, y, z, w, u)+      remitter _ = Nothing++_NewtypeD :: Prism' Dec (Cxt, Name, [TyVarBndr], Con, [Name])+_NewtypeD+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w, u) = NewtypeD x y z w u+      remitter (NewtypeD x y z w u) = Just (x, y, z, w, u)+      remitter _ = Nothing++_TySynD :: Prism' Dec (Name, [TyVarBndr], Type)+_TySynD+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = TySynD x y z+      remitter (TySynD x y z) = Just (x, y, z)+      remitter _ = Nothing++_ClassD :: Prism' Dec (Cxt, Name, [TyVarBndr], [FunDep], [Dec])+_ClassD+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w, u) = ClassD x y z w u+      remitter (ClassD x y z w u) = Just (x, y, z, w, u)+      remitter _ = Nothing++_InstanceD :: Prism' Dec (Cxt, Type, [Dec])+_InstanceD+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = InstanceD x y z+      remitter (InstanceD x y z) = Just (x, y, z)+      remitter _ = Nothing++_SigD :: Prism' Dec (Name, Type)+_SigD+  = prism' reviewer remitter+  where+      reviewer (x, y) = SigD x y+      remitter (SigD x y) = Just (x, y)+      remitter _ = Nothing++_ForeignD :: Prism' Dec Foreign+_ForeignD+  = prism' reviewer remitter+  where+      reviewer = ForeignD+      remitter (ForeignD x) = Just x+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,8,0)+_InfixD :: Prism' Dec (Fixity, Name)+_InfixD+  = prism' reviewer remitter+  where+      reviewer (x, y) = InfixD x y+      remitter (InfixD x y) = Just (x, y)+      remitter _ = Nothing+#endif++_PragmaD :: Prism' Dec Pragma+_PragmaD+  = prism' reviewer remitter+  where+      reviewer = PragmaD+      remitter (PragmaD x) = Just x+      remitter _ = Nothing++_FamilyD :: Prism' Dec (FamFlavour, Name, [TyVarBndr], Maybe Kind)+_FamilyD+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w) = FamilyD x y z w+      remitter (FamilyD x y z w) = Just (x, y, z, w)+      remitter _ = Nothing++_DataInstD :: Prism' Dec (Cxt, Name, [Type], [Con], [Name])+_DataInstD+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w, u) = DataInstD x y z w u+      remitter (DataInstD x y z w u) = Just (x, y, z, w, u)+      remitter _ = Nothing++_NewtypeInstD :: Prism' Dec (Cxt, Name, [Type], Con, [Name])+_NewtypeInstD+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w, u) = NewtypeInstD x y z w u+      remitter (NewtypeInstD x y z w u) = Just (x, y, z, w, u)+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,9,0)+_TySynInstD :: Prism' Dec (Name, TySynEqn)+_TySynInstD+  = prism' reviewer remitter+  where+      reviewer (x, y) = TySynInstD x y+      remitter (TySynInstD x y) = Just (x, y)+      remitter _ = Nothing++_ClosedTypeFamilyD :: Prism' Dec (Name, [TyVarBndr], Maybe Kind, [TySynEqn])+_ClosedTypeFamilyD+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w) = ClosedTypeFamilyD x y z w+      remitter (ClosedTypeFamilyD x y z w) = Just (x, y, z, w)+      remitter _ = Nothing++_RoleAnnotD :: Prism' Dec (Name, [Role])+_RoleAnnotD+  = prism' reviewer remitter+  where+      reviewer (x, y) = RoleAnnotD x y+      remitter (RoleAnnotD x y) = Just (x, y)+      remitter _ = Nothing++#else+_TySynInstD :: Prism' Dec (Name, [Type], Type)+_TySynInstD+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = TySynInstD x y z+      remitter (TySynInstD x y z) = Just (x, y, z)+      remitter _ = Nothing+#endif++#if MIN_VERSION_template_haskell(2,10,0)+_StandaloneDerivD :: Prism' Dec (Cxt, Type)+_StandaloneDerivD+  = prism' reviewer remitter+  where+      reviewer (x, y) = StandaloneDerivD x y+      remitter (StandaloneDerivD x y) = Just (x, y)+      remitter _ = Nothing++_DefaultSigD :: Prism' Dec (Name, Type)+_DefaultSigD+  = prism' reviewer remitter+  where+      reviewer (x, y) = DefaultSigD x y+      remitter (DefaultSigD x y) = Just (x, y)+      remitter _ = Nothing+#endif++_NormalC ::+  Prism' Con (Name, [StrictType])+_NormalC+  = prism' reviewer remitter+  where+      reviewer (x, y) = NormalC x y+      remitter (NormalC x y) = Just (x, y)+      remitter _ = Nothing++_RecC ::+  Prism' Con (Name, [VarStrictType])+_RecC+  = prism' reviewer remitter+  where+      reviewer (x, y) = RecC x y+      remitter (RecC x y) = Just (x, y)+      remitter _ = Nothing++_InfixC ::+  Prism' Con (StrictType,+              Name,+              StrictType)+_InfixC+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = InfixC x y z+      remitter (InfixC x y z) = Just (x, y, z)+      remitter _ = Nothing++_ForallC :: Prism' Con ([TyVarBndr], Cxt, Con)+_ForallC+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = ForallC x y z+      remitter (ForallC x y z) = Just (x, y, z)+      remitter _ = Nothing++_IsStrict :: Prism' Strict ()+_IsStrict+  = prism' reviewer remitter+  where+      reviewer () = IsStrict+      remitter IsStrict = Just ()+      remitter _ = Nothing++_NotStrict :: Prism' Strict ()+_NotStrict+  = prism' reviewer remitter+  where+      reviewer () = NotStrict+      remitter NotStrict = Just ()+      remitter _ = Nothing++_Unpacked :: Prism' Strict ()+_Unpacked+  = prism' reviewer remitter+  where+      reviewer () = Unpacked+      remitter Unpacked = Just ()+      remitter _ = Nothing++_ImportF :: Prism' Foreign (Callconv, Safety, String, Name, Type)+_ImportF+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w, u) = ImportF x y z w u+      remitter (ImportF x y z w u) = Just (x,y,z,w,u)+      remitter _ = Nothing++_ExportF :: Prism' Foreign (Callconv, String, Name, Type)+_ExportF+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w) = ExportF x y z w+      remitter (ExportF x y z w) = Just (x, y, z, w)+      remitter _ = Nothing++_CCall :: Prism' Callconv ()+_CCall+  = prism' reviewer remitter+  where+      reviewer () = CCall+      remitter CCall = Just ()+      remitter _ = Nothing++_StdCall :: Prism' Callconv ()+_StdCall+  = prism' reviewer remitter+  where+      reviewer () = StdCall+      remitter StdCall = Just ()+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,10,0)+_CApi :: Prism' Callconv ()+_CApi+  = prism' reviewer remitter+  where+      reviewer () = CApi+      remitter CApi = Just ()+      remitter _ = Nothing++_Prim :: Prism' Callconv ()+_Prim+  = prism' reviewer remitter+  where+      reviewer () = Prim+      remitter Prim = Just ()+      remitter _ = Nothing++_JavaScript :: Prism' Callconv ()+_JavaScript+  = prism' reviewer remitter+  where+      reviewer () = JavaScript+      remitter JavaScript = Just ()+      remitter _ = Nothing+#endif++_Unsafe :: Prism' Safety ()+_Unsafe+  = prism' reviewer remitter+  where+      reviewer () = Unsafe+      remitter Unsafe = Just ()+      remitter _ = Nothing++_Safe :: Prism' Safety ()+_Safe+  = prism' reviewer remitter+  where+      reviewer () = Safe+      remitter Safe = Just ()+      remitter _ = Nothing++_Interruptible :: Prism' Safety ()+_Interruptible+  = prism' reviewer remitter+  where+      reviewer () = Interruptible+      remitter Interruptible = Just ()+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,8,0)+_InlineP :: Prism' Pragma (Name, Inline, RuleMatch, Phases)+_InlineP+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w) = InlineP x y z w+      remitter (InlineP x y z w) = Just (x, y, z, w)+      remitter _ = Nothing++_SpecialiseP :: Prism' Pragma (Name, Type, Maybe Inline, Phases)+_SpecialiseP+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w) = SpecialiseP x y z w+      remitter (SpecialiseP x y z w) = Just (x, y, z, w)+      remitter _ = Nothing+#else+_InlineP :: Prism' Pragma (Name, InlineSpec)+_InlineP+  = prism' reviewer remitter+  where+      reviewer (x, y) = InlineP x y+      remitter (InlineP x y) = Just (x, y)+      remitter _ = Nothing++_SpecialiseP :: Prism' Pragma (Name, Type, Maybe InlineSpec)+_SpecialiseP+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = SpecialiseP x y z+      remitter (SpecialiseP x y z) = Just (x, y, z)+      remitter _ = Nothing++-- TODO add lenses for InlineSpec+#endif++#if MIN_VERSION_template_haskell(2,8,0)+_SpecialiseInstP :: Prism' Pragma Type+_SpecialiseInstP+  = prism' reviewer remitter+  where+      reviewer = SpecialiseInstP+      remitter (SpecialiseInstP x) = Just x+      remitter _ = Nothing++_RuleP :: Prism' Pragma (String, [RuleBndr], Exp, Exp, Phases)+_RuleP+  = prism' reviewer remitter+  where+      reviewer (x, y, z, w, u) = RuleP x y z w u+      remitter (RuleP x y z w u) = Just (x, y, z, w, u)+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,9,0)+_AnnP :: Prism' Pragma (AnnTarget, Exp)+_AnnP+  = prism' reviewer remitter+  where+      reviewer (x, y) = AnnP x y+      remitter (AnnP x y) = Just (x, y)+      remitter _ = Nothing+#endif++#if MIN_VERSION_template_haskell(2,10,0)+_LineP :: Prism' Pragma (Int, String)+_LineP+  = prism' reviewer remitter+  where+      reviewer (x, y) = LineP x y+      remitter (LineP x y) = Just (x, y)+      remitter _ = Nothing+#endif++_NoInline :: Prism' Inline ()+_NoInline+  = prism' reviewer remitter+  where+      reviewer () = NoInline+      remitter NoInline = Just ()+      remitter _ = Nothing++_Inline :: Prism' Inline ()+_Inline+  = prism' reviewer remitter+  where+      reviewer () = Inline+      remitter Inline = Just ()+      remitter _ = Nothing++_Inlinable :: Prism' Inline ()+_Inlinable+  = prism' reviewer remitter+  where+      reviewer () = Inlinable+      remitter Inlinable = Just ()+      remitter _ = Nothing++_ConLike :: Prism' RuleMatch ()+_ConLike+  = prism' reviewer remitter+  where+      reviewer () = ConLike+      remitter ConLike = Just ()+      remitter _ = Nothing++_FunLike :: Prism' RuleMatch ()+_FunLike+  = prism' reviewer remitter+  where+      reviewer () = FunLike+      remitter FunLike = Just ()+      remitter _ = Nothing++_AllPhases :: Prism' Phases ()+_AllPhases+  = prism' reviewer remitter+  where+      reviewer () = AllPhases+      remitter AllPhases = Just ()+      remitter _ = Nothing++_FromPhase :: Prism' Phases Int+_FromPhase+  = prism' reviewer remitter+  where+      reviewer = FromPhase+      remitter (FromPhase x) = Just x+      remitter _ = Nothing++_BeforePhase :: Prism' Phases Int+_BeforePhase+  = prism' reviewer remitter+  where+      reviewer = BeforePhase+      remitter (BeforePhase x) = Just x+      remitter _ = Nothing++_RuleVar :: Prism' RuleBndr Name+_RuleVar+  = prism' reviewer remitter+  where+      reviewer = RuleVar+      remitter (RuleVar x) = Just x+      remitter _ = Nothing++_TypedRuleVar :: Prism' RuleBndr (Name, Type)+_TypedRuleVar+  = prism' reviewer remitter+  where+      reviewer (x, y) = TypedRuleVar x y+      remitter (TypedRuleVar x y) = Just (x, y)+      remitter _ = Nothing+#endif++#if MIN_VERSION_template_haskell(2,9,0)+_ModuleAnnotation :: Prism' AnnTarget ()+_ModuleAnnotation+  = prism' reviewer remitter+  where+      reviewer () = ModuleAnnotation+      remitter ModuleAnnotation = Just ()+      remitter _ = Nothing++_TypeAnnotation :: Prism' AnnTarget Name+_TypeAnnotation+  = prism' reviewer remitter+  where+      reviewer = TypeAnnotation+      remitter (TypeAnnotation x) = Just x+      remitter _ = Nothing++_ValueAnnotation :: Prism' AnnTarget Name+_ValueAnnotation+  = prism' reviewer remitter+  where+      reviewer = ValueAnnotation+      remitter (ValueAnnotation x) = Just x+      remitter _ = Nothing+#endif++_FunDep :: Iso' FunDep ([Name], [Name])+_FunDep+  = iso remitter reviewer+  where+      reviewer (x, y) = FunDep x y+      remitter (FunDep x y) = (x, y)++_TypeFam :: Prism' FamFlavour ()+_TypeFam+  = prism' reviewer remitter+  where+      reviewer () = TypeFam+      remitter TypeFam = Just ()+      remitter _ = Nothing++_DataFam :: Prism' FamFlavour ()+_DataFam+  = prism' reviewer remitter+  where+      reviewer () = DataFam+      remitter DataFam = Just ()+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,9,0)+tySynEqnPatterns :: Lens' TySynEqn [Type]+tySynEqnPatterns = lens g s where+   g (TySynEqn xs _)    = xs+   s (TySynEqn _  y) xs = TySynEqn xs y++tySynEqnResult :: Lens' TySynEqn Type+tySynEqnResult = lens g s where+   g (TySynEqn _  x) = x+   s (TySynEqn xs _) = TySynEqn xs+#endif++_InfixL :: Prism' FixityDirection ()+_InfixL+  = prism' reviewer remitter+  where+      reviewer () = InfixL+      remitter InfixL = Just ()+      remitter _ = Nothing++_InfixR :: Prism' FixityDirection ()+_InfixR+  = prism' reviewer remitter+  where+      reviewer () = InfixR+      remitter InfixR = Just ()+      remitter _ = Nothing++_InfixN :: Prism' FixityDirection ()+_InfixN+  = prism' reviewer remitter+  where+      reviewer () = InfixN+      remitter InfixN = Just ()+      remitter _ = Nothing++_VarE :: Prism' Exp Name+_VarE+  = prism' reviewer remitter+  where+      reviewer = VarE+      remitter (VarE x) = Just x+      remitter _ = Nothing++_ConE :: Prism' Exp Name+_ConE+  = prism' reviewer remitter+  where+      reviewer = ConE+      remitter (ConE x) = Just x+      remitter _ = Nothing++_LitE :: Prism' Exp Lit+_LitE+  = prism' reviewer remitter+  where+      reviewer = LitE+      remitter (LitE x) = Just x+      remitter _ = Nothing++_AppE :: Prism' Exp (Exp, Exp)+_AppE+  = prism' reviewer remitter+  where+      reviewer (x, y) = AppE x y+      remitter (AppE x y) = Just (x, y)+      remitter _ = Nothing++_InfixE :: Prism' Exp (Maybe Exp, Exp, Maybe Exp)+_InfixE+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = InfixE x y z+      remitter (InfixE x y z) = Just (x, y, z)+      remitter _ = Nothing++_UInfixE :: Prism' Exp (Exp, Exp, Exp)+_UInfixE+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = UInfixE x y z+      remitter (UInfixE x y z) = Just (x, y, z)+      remitter _ = Nothing++_ParensE :: Prism' Exp Exp+_ParensE+  = prism' reviewer remitter+  where+      reviewer = ParensE+      remitter (ParensE x) = Just x+      remitter _ = Nothing++_LamE :: Prism' Exp ([Pat], Exp)+_LamE+  = prism' reviewer remitter+  where+      reviewer (x, y) = LamE x y+      remitter (LamE x y) = Just (x, y)+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,8,0)+_LamCaseE :: Prism' Exp [Match]+_LamCaseE+  = prism' reviewer remitter+  where+      reviewer = LamCaseE+      remitter (LamCaseE x) = Just x+      remitter _ = Nothing+#endif++_TupE :: Prism' Exp [Exp]+_TupE+  = prism' reviewer remitter+  where+      reviewer = TupE+      remitter (TupE x) = Just x+      remitter _ = Nothing++_UnboxedTupE :: Prism' Exp [Exp]+_UnboxedTupE+  = prism' reviewer remitter+  where+      reviewer = UnboxedTupE+      remitter (UnboxedTupE x) = Just x+      remitter _ = Nothing++_CondE :: Prism' Exp (Exp, Exp, Exp)+_CondE+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = CondE x y z+      remitter (CondE x y z) = Just (x, y, z)+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,8,0)+_MultiIfE :: Prism' Exp [(Guard, Exp)]+_MultiIfE+  = prism' reviewer remitter+  where+      reviewer = MultiIfE+      remitter (MultiIfE x) = Just x+      remitter _ = Nothing+#endif++_LetE :: Prism' Exp ([Dec], Exp)+_LetE+  = prism' reviewer remitter+  where+      reviewer (x, y) = LetE x y+      remitter (LetE x y) = Just (x, y)+      remitter _ = Nothing++_CaseE :: Prism' Exp (Exp, [Match])+_CaseE+  = prism' reviewer remitter+  where+      reviewer (x, y) = CaseE x y+      remitter (CaseE x y) = Just (x, y)+      remitter _ = Nothing++_DoE :: Prism' Exp [Stmt]+_DoE+  = prism' reviewer remitter+  where+      reviewer = DoE+      remitter (DoE x) = Just x+      remitter _ = Nothing++_CompE :: Prism' Exp [Stmt]+_CompE+  = prism' reviewer remitter+  where+      reviewer = CompE+      remitter (CompE x) = Just x+      remitter _ = Nothing++_ArithSeqE :: Prism' Exp Range+_ArithSeqE+  = prism' reviewer remitter+  where+      reviewer = ArithSeqE+      remitter (ArithSeqE x) = Just x+      remitter _ = Nothing++_ListE :: Prism' Exp [Exp]+_ListE+  = prism' reviewer remitter+  where+      reviewer = ListE+      remitter (ListE x) = Just x+      remitter _ = Nothing++_SigE :: Prism' Exp (Exp, Type)+_SigE+  = prism' reviewer remitter+  where+      reviewer (x, y) = SigE x y+      remitter (SigE x y) = Just (x, y)+      remitter _ = Nothing++_RecConE :: Prism' Exp (Name, [FieldExp])+_RecConE+  = prism' reviewer remitter+  where+      reviewer (x, y) = RecConE x y+      remitter (RecConE x y) = Just (x, y)+      remitter _ = Nothing++_RecUpdE :: Prism' Exp (Exp, [FieldExp])+_RecUpdE+  = prism' reviewer remitter+  where+      reviewer (x, y) = RecUpdE x y+      remitter (RecUpdE x y) = Just (x, y)+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,10,0)+_StaticE :: Prism' Exp Exp+_StaticE+  = prism' reviewer remitter+  where+      reviewer = StaticE+      remitter (StaticE x) = Just x+      remitter _ = Nothing+#endif++_GuardedB :: Prism' Body [(Guard, Exp)]+_GuardedB+  = prism' reviewer remitter+  where+      reviewer = GuardedB+      remitter (GuardedB x) = Just x+      remitter _ = Nothing++_NormalB :: Prism' Body Exp+_NormalB+  = prism' reviewer remitter+  where+      reviewer = NormalB+      remitter (NormalB x) = Just x+      remitter _ = Nothing++_NormalG :: Prism' Guard Exp+_NormalG+  = prism' reviewer remitter+  where+      reviewer = NormalG+      remitter (NormalG x) = Just x+      remitter _ = Nothing++_PatG :: Prism' Guard [Stmt]+_PatG+  = prism' reviewer remitter+  where+      reviewer = PatG+      remitter (PatG x) = Just x+      remitter _ = Nothing++_BindS :: Prism' Stmt (Pat, Exp)+_BindS+  = prism' reviewer remitter+  where+      reviewer (x, y) = BindS x y+      remitter (BindS x y) = Just (x, y)+      remitter _ = Nothing++_LetS :: Prism' Stmt [Dec]+_LetS+  = prism' reviewer remitter+  where+      reviewer = LetS+      remitter (LetS x) = Just x+      remitter _ = Nothing++_NoBindS :: Prism' Stmt Exp+_NoBindS+  = prism' reviewer remitter+  where+      reviewer = NoBindS+      remitter (NoBindS x) = Just x+      remitter _ = Nothing++_ParS :: Prism' Stmt [[Stmt]]+_ParS+  = prism' reviewer remitter+  where+      reviewer = ParS+      remitter (ParS x) = Just x+      remitter _ = Nothing++_FromR :: Prism' Range Exp+_FromR+  = prism' reviewer remitter+  where+      reviewer = FromR+      remitter (FromR x) = Just x+      remitter _ = Nothing++_FromThenR :: Prism' Range (Exp, Exp)+_FromThenR+  = prism' reviewer remitter+  where+      reviewer (x, y) = FromThenR x y+      remitter (FromThenR x y) = Just (x, y)+      remitter _ = Nothing++_FromToR :: Prism' Range (Exp, Exp)+_FromToR+  = prism' reviewer remitter+  where+      reviewer (x, y) = FromToR x y+      remitter (FromToR x y) = Just (x, y)+      remitter _ = Nothing++_FromThenToR :: Prism' Range (Exp, Exp, Exp)+_FromThenToR+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = FromThenToR x y z+      remitter (FromThenToR x y z) = Just (x, y, z)+      remitter _ = Nothing++_CharL :: Prism' Lit Char+_CharL+  = prism' reviewer remitter+  where+      reviewer = CharL+      remitter (CharL x) = Just x+      remitter _ = Nothing++_StringL :: Prism' Lit String+_StringL+  = prism' reviewer remitter+  where+      reviewer = StringL+      remitter (StringL x) = Just x+      remitter _ = Nothing++_IntegerL :: Prism' Lit Integer+_IntegerL+  = prism' reviewer remitter+  where+      reviewer = IntegerL+      remitter (IntegerL x) = Just x+      remitter _ = Nothing++_RationalL :: Prism' Lit Rational+_RationalL+  = prism' reviewer remitter+  where+      reviewer = RationalL+      remitter (RationalL x) = Just x+      remitter _ = Nothing++_IntPrimL :: Prism' Lit Integer+_IntPrimL+  = prism' reviewer remitter+  where+      reviewer = IntPrimL+      remitter (IntPrimL x) = Just x+      remitter _ = Nothing++_WordPrimL :: Prism' Lit Integer+_WordPrimL+  = prism' reviewer remitter+  where+      reviewer = WordPrimL+      remitter (WordPrimL x) = Just x+      remitter _ = Nothing++_FloatPrimL :: Prism' Lit Rational+_FloatPrimL+  = prism' reviewer remitter+  where+      reviewer = FloatPrimL+      remitter (FloatPrimL x) = Just x+      remitter _ = Nothing++_DoublePrimL :: Prism' Lit Rational+_DoublePrimL+  = prism' reviewer remitter+  where+      reviewer = DoublePrimL+      remitter (DoublePrimL x) = Just x+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,8,0)+_StringPrimL :: Prism' Lit [Word8]+_StringPrimL+  = prism' reviewer remitter+  where+      reviewer = StringPrimL+      remitter (StringPrimL x) = Just x+      remitter _ = Nothing+#else+_StringPrimL :: Prism' Lit String+_StringPrimL+  = prism' reviewer remitter+  where+      reviewer = StringPrimL+      remitter (StringPrimL x) = Just x+      remitter _ = Nothing+#endif++_LitP :: Prism' Pat Lit+_LitP+  = prism' reviewer remitter+  where+      reviewer = LitP+      remitter (LitP x) = Just x+      remitter _ = Nothing++_VarP :: Prism' Pat Name+_VarP+  = prism' reviewer remitter+  where+      reviewer = VarP+      remitter (VarP x) = Just x+      remitter _ = Nothing++_TupP :: Prism' Pat [Pat]+_TupP+  = prism' reviewer remitter+  where+      reviewer = TupP+      remitter (TupP x) = Just x+      remitter _ = Nothing++_UnboxedTupP :: Prism' Pat [Pat]+_UnboxedTupP+  = prism' reviewer remitter+  where+      reviewer = UnboxedTupP+      remitter (UnboxedTupP x) = Just x+      remitter _ = Nothing++_ConP :: Prism' Pat (Name, [Pat])+_ConP+  = prism' reviewer remitter+  where+      reviewer (x, y) = ConP x y+      remitter (ConP x y) = Just (x, y)+      remitter _ = Nothing++_InfixP :: Prism' Pat (Pat, Name, Pat)+_InfixP+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = InfixP x y z+      remitter (InfixP x y z) = Just (x, y, z)+      remitter _ = Nothing++_UInfixP :: Prism' Pat (Pat, Name, Pat)+_UInfixP+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = UInfixP x y z+      remitter (UInfixP x y z) = Just (x, y, z)+      remitter _ = Nothing++_ParensP :: Prism' Pat Pat+_ParensP+  = prism' reviewer remitter+  where+      reviewer = ParensP+      remitter (ParensP x) = Just x+      remitter _ = Nothing++_TildeP :: Prism' Pat Pat+_TildeP+  = prism' reviewer remitter+  where+      reviewer = TildeP+      remitter (TildeP x) = Just x+      remitter _ = Nothing++_BangP :: Prism' Pat Pat+_BangP+  = prism' reviewer remitter+  where+      reviewer = BangP+      remitter (BangP x) = Just x+      remitter _ = Nothing++_AsP :: Prism' Pat (Name, Pat)+_AsP+  = prism' reviewer remitter+  where+      reviewer (x, y) = AsP x y+      remitter (AsP x y) = Just (x, y)+      remitter _ = Nothing++_WildP :: Prism' Pat ()+_WildP+  = prism' reviewer remitter+  where+      reviewer () = WildP+      remitter WildP = Just ()+      remitter _ = Nothing++_RecP :: Prism' Pat (Name, [FieldPat])+_RecP+  = prism' reviewer remitter+  where+      reviewer (x, y) = RecP x y+      remitter (RecP x y) = Just (x, y)+      remitter _ = Nothing++_ListP :: Prism' Pat [Pat]+_ListP+  = prism' reviewer remitter+  where+      reviewer = ListP+      remitter (ListP x) = Just x+      remitter _ = Nothing++_SigP :: Prism' Pat (Pat, Type)+_SigP+  = prism' reviewer remitter+  where+      reviewer (x, y) = SigP x y+      remitter (SigP x y) = Just (x, y)+      remitter _ = Nothing++_ViewP :: Prism' Pat (Exp, Pat)+_ViewP+  = prism' reviewer remitter+  where+      reviewer (x, y) = ViewP x y+      remitter (ViewP x y) = Just (x, y)+      remitter _ = Nothing++_ForallT :: Prism' Type ([TyVarBndr], Cxt, Type)+_ForallT+  = prism' reviewer remitter+  where+      reviewer (x, y, z) = ForallT x y z+      remitter (ForallT x y z) = Just (x, y, z)+      remitter _ = Nothing++_AppT :: Prism' Type (Type, Type)+_AppT+  = prism' reviewer remitter+  where+      reviewer (x, y) = AppT x y+      remitter (AppT x y) = Just (x, y)+      remitter _ = Nothing++_SigT :: Prism' Type (Type, Kind)+_SigT+  = prism' reviewer remitter+  where+      reviewer (x, y) = SigT x y+      remitter (SigT x y) = Just (x, y)+      remitter _ = Nothing++_VarT :: Prism' Type Name+_VarT+  = prism' reviewer remitter+  where+      reviewer = VarT+      remitter (VarT x) = Just x+      remitter _ = Nothing++_ConT :: Prism' Type Name+_ConT+  = prism' reviewer remitter+  where+      reviewer = ConT+      remitter (ConT x) = Just x+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,8,0)+_PromotedT :: Prism' Type Name+_PromotedT+  = prism' reviewer remitter+  where+      reviewer = PromotedT+      remitter (PromotedT x) = Just x+      remitter _ = Nothing+#endif++_TupleT :: Prism' Type Int+_TupleT+  = prism' reviewer remitter+  where+      reviewer = TupleT+      remitter (TupleT x) = Just x+      remitter _ = Nothing++_UnboxedTupleT :: Prism' Type Int+_UnboxedTupleT+  = prism' reviewer remitter+  where+      reviewer = UnboxedTupleT+      remitter (UnboxedTupleT x) = Just x+      remitter _ = Nothing++_ArrowT :: Prism' Type ()+_ArrowT+  = prism' reviewer remitter+  where+      reviewer () = ArrowT+      remitter ArrowT = Just ()+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,10,0)+_EqualityT :: Prism' Type ()+_EqualityT+  = prism' reviewer remitter+  where+      reviewer () = EqualityT+      remitter EqualityT = Just ()+      remitter _ = Nothing+#endif++_ListT :: Prism' Type ()+_ListT+  = prism' reviewer remitter+  where+      reviewer () = ListT+      remitter ListT = Just ()+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,8,0)+_PromotedTupleT :: Prism' Type Int+_PromotedTupleT+  = prism' reviewer remitter+  where+      reviewer = PromotedTupleT+      remitter (PromotedTupleT x) = Just x+      remitter _ = Nothing++_PromotedNilT :: Prism' Type ()+_PromotedNilT+  = prism' reviewer remitter+  where+      reviewer () = PromotedNilT+      remitter PromotedNilT = Just ()+      remitter _ = Nothing++_PromotedConsT :: Prism' Type ()+_PromotedConsT+  = prism' reviewer remitter+  where+      reviewer () = PromotedConsT+      remitter PromotedConsT = Just ()+      remitter _ = Nothing++_StarT :: Prism' Type ()+_StarT+  = prism' reviewer remitter+  where+      reviewer () = StarT+      remitter StarT = Just ()+      remitter _ = Nothing++_ConstraintT :: Prism' Type ()+_ConstraintT+  = prism' reviewer remitter+  where+      reviewer () = ConstraintT+      remitter ConstraintT = Just ()+      remitter _ = Nothing++_LitT :: Prism' Type TyLit+_LitT+  = prism' reviewer remitter+  where+      reviewer = LitT+      remitter (LitT x) = Just x+      remitter _ = Nothing+#endif++_PlainTV :: Prism' TyVarBndr Name+_PlainTV+  = prism' reviewer remitter+  where+      reviewer = PlainTV+      remitter (PlainTV x) = Just x+      remitter _ = Nothing++_KindedTV :: Prism' TyVarBndr (Name, Kind)+_KindedTV+  = prism' reviewer remitter+  where+      reviewer (x, y) = KindedTV x y+      remitter (KindedTV x y) = Just (x, y)+      remitter _ = Nothing++#if MIN_VERSION_template_haskell(2,8,0)+_NumTyLit :: Prism' TyLit Integer+_NumTyLit+  = prism' reviewer remitter+  where+      reviewer = NumTyLit+      remitter (NumTyLit x) = Just x+      remitter _ = Nothing++_StrTyLit :: Prism' TyLit String+_StrTyLit+  = prism' reviewer remitter+  where+      reviewer = StrTyLit+      remitter (StrTyLit x) = Just x+      remitter _ = Nothing+#endif++#if !MIN_VERSION_template_haskell(2,10,0)+_ClassP :: Prism' Pred (Name, [Type])+_ClassP+  = prism' reviewer remitter+  where+      reviewer (x, y) = ClassP x y+      remitter (ClassP x y) = Just (x, y)+      remitter _ = Nothing++_EqualP :: Prism' Pred (Type, Type)+_EqualP+  = prism' reviewer remitter+  where+      reviewer (x, y) = EqualP x y+      remitter (EqualP x y) = Just (x, y)+      remitter _ = Nothing+#endif++#if MIN_VERSION_template_haskell(2,9,0)+_NominalR :: Prism' Role ()+_NominalR+  = prism' reviewer remitter+  where+      reviewer () = NominalR+      remitter NominalR = Just ()+      remitter _ = Nothing++_RepresentationalR :: Prism' Role ()+_RepresentationalR+  = prism' reviewer remitter+  where+      reviewer () = RepresentationalR+      remitter RepresentationalR = Just ()+      remitter _ = Nothing++_PhantomR :: Prism' Role ()+_PhantomR+  = prism' reviewer remitter+  where+      reviewer () = PhantomR+      remitter PhantomR = Just ()+      remitter _ = Nothing++_InferR :: Prism' Role ()+_InferR+  = prism' reviewer remitter+  where+      reviewer () = InferR+      remitter InferR = Just ()+      remitter _ = Nothing #endif
tests/templates.hs view
@@ -5,6 +5,7 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE Rank2Types #-}+{-# LANGUAGE GADTs #-} {-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- |@@ -364,6 +365,9 @@  data PureNoFields = PureNoFieldsA | PureNoFieldsB { _pureNoFields :: Int } makeLenses ''PureNoFields++data ReviewTest where ReviewTest :: a -> ReviewTest+makePrisms ''ReviewTest  main :: IO () main = putStrLn "test/templates.hs: ok"