lens-5.2.3: Lenses, Folds and Traversals

Copyright | (C) 2012-16 Edward Kmett Michael Sloan
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | experimental
Portability | Rank2, MPTCs, fundeps
Safe Haskell | Trustworthy
Language | Haskell2010

Control.Lens.Wrapped

Contents

- Wrapping and Unwrapping monomorphically
- Wrapping and unwrapping polymorphically
- Operations
- Pattern Synonyms
- Generics

Description

The `Wrapped` class provides similar functionality as `Control.Newtype`, from the `newtype` package, but in a more convenient and efficient form.

There are a few functions from `newtype` that are not provided here, because they can be done with the `Iso` directly:

    Control.Newtype.over Sum f ≡ _Unwrapping Sum %~ f
    Control.Newtype.under Sum f ≡ _Wrapping Sum %~ f
    Control.Newtype.overF Sum f ≡ mapping (_Unwrapping Sum) %~ f
    Control.Newtype.underF Sum f ≡ mapping (_Wrapping Sum) %~ f

`under` can also be used with `_Unwrapping` to provide the equivalent of `Control.Newtype.under`. Also, most use cases don't need full polymorphism, so only the single constructor `_Wrapping` functions would be needed.

These equivalences aren't 100% honest, because `newtype`'s operators need to rely on two `Newtype` constraints. This means that the wrapper used for the output is not necessarily the same as the input.

Synopsis

- class Wrapped s where
  - type Unwrapped s
  - _Wrapped' :: Iso' s (Unwrapped s)
- _Unwrapped' :: Wrapped s => Iso' (Unwrapped s) s
- _Wrapping' :: Wrapped s => (Unwrapped s -> s) -> Iso' s (Unwrapped s)
- _Unwrapping' :: Wrapped s => (Unwrapped s -> s) -> Iso' (Unwrapped s) s
- class Wrapped s => Rewrapped s t
- class (Rewrapped s t, Rewrapped t s) => Rewrapping s t
- _Wrapped :: Rewrapping s t => Iso s t (Unwrapped s) (Unwrapped t)
- _Unwrapped :: Rewrapping s t => Iso (Unwrapped t) (Unwrapped s) t s
- _Wrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso s t (Unwrapped s) (Unwrapped t)
- _Unwrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso (Unwrapped t) (Unwrapped s) t s
- op :: Wrapped s => (Unwrapped s -> s) -> s -> Unwrapped s
- ala :: (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s)
- alaf :: (Functor f, Functor g, Rewrapping s t) => (Unwrapped s -> s) -> (f t -> g s) -> f (Unwrapped t) -> g (Unwrapped s)
- pattern Wrapped :: Rewrapped s s => Unwrapped s -> s
- pattern Unwrapped :: Rewrapped t t => t -> Unwrapped t
- _GWrapped' :: forall s (d :: Meta) (c :: Meta) (s' :: Meta) a. (Generic s, D1 d (C1 c (S1 s' (Rec0 a))) ~ Rep s, Unwrapped s ~ GUnwrapped (Rep s)) => Iso' s (Unwrapped s)

# Wrapping and Unwrapping monomorphically

class Wrapped s where #

`Wrapped` provides isomorphisms to wrap and unwrap newtypes or data types with one constructor.

Minimal complete definition

Nothing

Associated Types

type Unwrapped s #

type Unwrapped s = GUnwrapped (Rep s)

Methods

_Wrapped' :: Iso' s (Unwrapped s) #

An isomorphism between `s` and `a`.

If your type has a `Generic` instance, `_Wrapped'` will default to `_GWrapped'`, and you can choose to not override it with your own definition.

default _Wrapped' :: forall (d :: Meta) (c :: Meta) (s' :: Meta) a. (Generic s, D1 d (C1 c (S1 s' (Rec0 a))) ~ Rep s, Unwrapped s ~ GUnwrapped (Rep s)) => Iso' s (Unwrapped s) #

#### Instances

Instances details

Wrapped NoMethodError # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped NoMethodError |
Instance details Defined in Control.Lens.Wrapped type Unwrapped NoMethodError = String

Methods

_Wrapped' :: Iso' NoMethodError (Unwrapped NoMethodError) #

Wrapped PatternMatchFail # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped PatternMatchFail |
Instance details Defined in Control.Lens.Wrapped type Unwrapped PatternMatchFail = String

Methods

_Wrapped' :: Iso' PatternMatchFail (Unwrapped PatternMatchFail) #

Wrapped RecConError # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped RecConError |
Instance details Defined in Control.Lens.Wrapped type Unwrapped RecConError = String

Methods

_Wrapped' :: Iso' RecConError (Unwrapped RecConError) #

Wrapped RecSelError # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped RecSelError |
Instance details Defined in Control.Lens.Wrapped type Unwrapped RecSelError = String

Methods

_Wrapped' :: Iso' RecSelError (Unwrapped RecSelError) #

Wrapped RecUpdError # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped RecUpdError |
Instance details Defined in Control.Lens.Wrapped type Unwrapped RecUpdError = String

Methods

_Wrapped' :: Iso' RecUpdError (Unwrapped RecUpdError) #

Wrapped TypeError # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped TypeError |
Instance details Defined in Control.Lens.Wrapped type Unwrapped TypeError = String

Methods

_Wrapped' :: Iso' TypeError (Unwrapped TypeError) #

Wrapped All # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped All |
Instance details Defined in Control.Lens.Wrapped type Unwrapped All = Bool

Methods

_Wrapped' :: Iso' All (Unwrapped All) #

Wrapped Any # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped Any |
Instance details Defined in Control.Lens.Wrapped type Unwrapped Any = Bool

Methods

_Wrapped' :: Iso' Any (Unwrapped Any) #

Wrapped Errno # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped Errno |
Instance details Defined in Control.Lens.Wrapped type Unwrapped Errno = CInt

Methods

_Wrapped' :: Iso' Errno (Unwrapped Errno) #

Wrapped CBool # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CBool |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CBool = Word8

Methods

_Wrapped' :: Iso' CBool (Unwrapped CBool) #

Wrapped CChar # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CChar |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CChar = Word8

Methods

_Wrapped' :: Iso' CChar (Unwrapped CChar) #

Wrapped CClock # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CClock |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CClock = Word32

Methods

_Wrapped' :: Iso' CClock (Unwrapped CClock) #

Wrapped CDouble # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CDouble |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CDouble = Double

Methods

_Wrapped' :: Iso' CDouble (Unwrapped CDouble) #

Wrapped CFloat # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CFloat |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CFloat = Float

Methods

_Wrapped' :: Iso' CFloat (Unwrapped CFloat) #

Wrapped CInt # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CInt |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CInt = Int32

Methods

_Wrapped' :: Iso' CInt (Unwrapped CInt) #

Wrapped CIntMax # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CIntMax |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CIntMax = Int64

Methods

_Wrapped' :: Iso' CIntMax (Unwrapped CIntMax) #

Wrapped CIntPtr # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CIntPtr |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CIntPtr = Int64

Methods

_Wrapped' :: Iso' CIntPtr (Unwrapped CIntPtr) #

Wrapped CLLong # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CLLong |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CLLong = Int64

Methods

_Wrapped' :: Iso' CLLong (Unwrapped CLLong) #

Wrapped CLong # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CLong |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CLong = Int64

Methods

_Wrapped' :: Iso' CLong (Unwrapped CLong) #

Wrapped CPtrdiff # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CPtrdiff |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CPtrdiff = Int64

Methods

_Wrapped' :: Iso' CPtrdiff (Unwrapped CPtrdiff) #

Wrapped CSChar # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSChar |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CSChar = Int8

Methods

_Wrapped' :: Iso' CSChar (Unwrapped CSChar) #

Wrapped CSUSeconds # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSUSeconds |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CSUSeconds = Int32

Methods

_Wrapped' :: Iso' CSUSeconds (Unwrapped CSUSeconds) #

Wrapped CShort # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CShort |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CShort = Int16

Methods

_Wrapped' :: Iso' CShort (Unwrapped CShort) #

Wrapped CSigAtomic # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSigAtomic |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CSigAtomic = Int32

Methods

_Wrapped' :: Iso' CSigAtomic (Unwrapped CSigAtomic) #

Wrapped CSize # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSize |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CSize = Word64

Methods

_Wrapped' :: Iso' CSize (Unwrapped CSize) #

Wrapped CTime # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CTime |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CTime = Int64

Methods

_Wrapped' :: Iso' CTime (Unwrapped CTime) #

Wrapped CUChar # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUChar |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CUChar = Word8

Methods

_Wrapped' :: Iso' CUChar (Unwrapped CUChar) #

Wrapped CUInt # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUInt |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CUInt = Word32

Methods

_Wrapped' :: Iso' CUInt (Unwrapped CUInt) #

Wrapped CUIntMax # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUIntMax |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CUIntMax = Word64

Methods

_Wrapped' :: Iso' CUIntMax (Unwrapped CUIntMax) #

Wrapped CUIntPtr # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUIntPtr |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CUIntPtr = Word64

Methods

_Wrapped' :: Iso' CUIntPtr (Unwrapped CUIntPtr) #

Wrapped CULLong # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CULLong |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CULLong = Word64

Methods

_Wrapped' :: Iso' CULLong (Unwrapped CULLong) #

Wrapped CULong # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CULong |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CULong = Word64

Methods

_Wrapped' :: Iso' CULong (Unwrapped CULong) #

Wrapped CUSeconds # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUSeconds |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CUSeconds = Word32

Methods

_Wrapped' :: Iso' CUSeconds (Unwrapped CUSeconds) #

Wrapped CUShort # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUShort |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CUShort = Word16

Methods

_Wrapped' :: Iso' CUShort (Unwrapped CUShort) #

Wrapped CWchar # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CWchar |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CWchar = Int32

Methods

_Wrapped' :: Iso' CWchar (Unwrapped CWchar) #

Wrapped ErrorCall # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped ErrorCall |
Instance details Defined in Control.Lens.Wrapped type Unwrapped ErrorCall = String

Methods

_Wrapped' :: Iso' ErrorCall (Unwrapped ErrorCall) #

Wrapped AssertionFailed # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped AssertionFailed |
Instance details Defined in Control.Lens.Wrapped type Unwrapped AssertionFailed = String

Methods

_Wrapped' :: Iso' AssertionFailed (Unwrapped AssertionFailed) #

Wrapped CompactionFailed # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CompactionFailed |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CompactionFailed = String

Methods

_Wrapped' :: Iso' CompactionFailed (Unwrapped CompactionFailed) #

Wrapped CBlkCnt # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CBlkCnt |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CBlkCnt = Int64

Methods

_Wrapped' :: Iso' CBlkCnt (Unwrapped CBlkCnt) #

Wrapped CBlkSize # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CBlkSize |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CBlkSize = Int32

Methods

_Wrapped' :: Iso' CBlkSize (Unwrapped CBlkSize) #

Wrapped CCc # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CCc |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CCc = Word8

Methods

_Wrapped' :: Iso' CCc (Unwrapped CCc) #

Wrapped CClockId # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CClockId |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CClockId = Int32

Methods

_Wrapped' :: Iso' CClockId (Unwrapped CClockId) #

Wrapped CDev # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CDev |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CDev = Word64

Methods

_Wrapped' :: Iso' CDev (Unwrapped CDev) #

Wrapped CFsBlkCnt # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CFsBlkCnt |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CFsBlkCnt = Word64

Methods

_Wrapped' :: Iso' CFsBlkCnt (Unwrapped CFsBlkCnt) #

Wrapped CFsFilCnt # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CFsFilCnt |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CFsFilCnt = Word64

Methods

_Wrapped' :: Iso' CFsFilCnt (Unwrapped CFsFilCnt) #

Wrapped CGid # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CGid |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CGid = Word32

Methods

_Wrapped' :: Iso' CGid (Unwrapped CGid) #

Wrapped CId # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CId |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CId = Word32

Methods

_Wrapped' :: Iso' CId (Unwrapped CId) #

Wrapped CIno # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CIno |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CIno = Word64

Methods

_Wrapped' :: Iso' CIno (Unwrapped CIno) #

Wrapped CKey # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CKey |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CKey = Int64

Methods

_Wrapped' :: Iso' CKey (Unwrapped CKey) #

Wrapped CMode # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CMode |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CMode = Word32

Methods

_Wrapped' :: Iso' CMode (Unwrapped CMode) #

Wrapped CNlink # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CNlink |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CNlink = Word32

Methods

_Wrapped' :: Iso' CNlink (Unwrapped CNlink) #

Wrapped COff # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped COff |
Instance details Defined in Control.Lens.Wrapped type Unwrapped COff = Int64

Methods

_Wrapped' :: Iso' COff (Unwrapped COff) #

Wrapped CPid # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CPid |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CPid = Int32

Methods

_Wrapped' :: Iso' CPid (Unwrapped CPid) #

Wrapped CRLim # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CRLim |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CRLim = Word64

Methods

_Wrapped' :: Iso' CRLim (Unwrapped CRLim) #

Wrapped CSpeed # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSpeed |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CSpeed = Word32

Methods

_Wrapped' :: Iso' CSpeed (Unwrapped CSpeed) #

Wrapped CSsize # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSsize |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CSsize = Int64

Methods

_Wrapped' :: Iso' CSsize (Unwrapped CSsize) #

Wrapped CTcflag # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CTcflag |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CTcflag = Word32

Methods

_Wrapped' :: Iso' CTcflag (Unwrapped CTcflag) #

Wrapped CTimer # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CTimer |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CTimer = Int32

Methods

_Wrapped' :: Iso' CTimer (Unwrapped CTimer) #

Wrapped CUid # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUid |
Instance details Defined in Control.Lens.Wrapped type Unwrapped CUid = Word32

Methods

_Wrapped' :: Iso' CUid (Unwrapped CUid) #

Wrapped Fd # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped Fd |
Instance details Defined in Control.Lens.Wrapped type Unwrapped Fd = CInt

Methods

_Wrapped' :: Iso' Fd (Unwrapped Fd) #

Wrapped IntSet # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped IntSet |
Instance details Defined in Control.Lens.Wrapped type Unwrapped IntSet = [Int]

Methods

_Wrapped' :: Iso' IntSet (Unwrapped IntSet) #

Wrapped (ZipList a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ZipList a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (ZipList a) = [a]

Methods

_Wrapped' :: Iso' (ZipList a) (Unwrapped (ZipList a)) #

Wrapped (Comparison a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Comparison a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Comparison a) = a -> a -> Ordering

Methods

_Wrapped' :: Iso' (Comparison a) (Unwrapped (Comparison a)) #

Wrapped (Equivalence a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Equivalence a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Equivalence a) = a -> a -> Bool

Methods

_Wrapped' :: Iso' (Equivalence a) (Unwrapped (Equivalence a)) #

Wrapped (Predicate a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Predicate a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Predicate a) = a -> Bool

Methods

_Wrapped' :: Iso' (Predicate a) (Unwrapped (Predicate a)) #

Wrapped (Identity a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Identity a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Identity a) = a

Methods

_Wrapped' :: Iso' (Identity a) (Unwrapped (Identity a)) #

Wrapped (First a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (First a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (First a) = Maybe a

Methods

_Wrapped' :: Iso' (First a) (Unwrapped (First a)) #

Wrapped (Last a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Last a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Last a) = Maybe a

Methods

_Wrapped' :: Iso' (Last a) (Unwrapped (Last a)) #

Wrapped (Down a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Down a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Down a) = a

Methods

_Wrapped' :: Iso' (Down a) (Unwrapped (Down a)) #

Wrapped (First a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (First a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (First a) = a

Methods

_Wrapped' :: Iso' (First a) (Unwrapped (First a)) #

Wrapped (Last a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Last a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Last a) = a

Methods

_Wrapped' :: Iso' (Last a) (Unwrapped (Last a)) #

Wrapped (Max a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Max a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Max a) = a

Methods

_Wrapped' :: Iso' (Max a) (Unwrapped (Max a)) #

Wrapped (Min a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Min a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Min a) = a

Methods

_Wrapped' :: Iso' (Min a) (Unwrapped (Min a)) #

Wrapped (WrappedMonoid a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedMonoid a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (WrappedMonoid a) = a

Methods

_Wrapped' :: Iso' (WrappedMonoid a) (Unwrapped (WrappedMonoid a)) #

Wrapped (Dual a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Dual a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Dual a) = a

Methods

_Wrapped' :: Iso' (Dual a) (Unwrapped (Dual a)) #

Wrapped (Endo a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Endo a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Endo a) = a -> a

Methods

_Wrapped' :: Iso' (Endo a) (Unwrapped (Endo a)) #

Wrapped (Product a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Product a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Product a) = a

Methods

_Wrapped' :: Iso' (Product a) (Unwrapped (Product a)) #

Wrapped (Sum a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Sum a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Sum a) = a

Methods

_Wrapped' :: Iso' (Sum a) (Unwrapped (Sum a)) #

Wrapped (NonEmpty a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (NonEmpty a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (NonEmpty a) = (a, [a])

Methods

_Wrapped' :: Iso' (NonEmpty a) (Unwrapped (NonEmpty a)) #

Wrapped (Par1 p) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Par1 p) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Par1 p) = p

Methods

_Wrapped' :: Iso' (Par1 p) (Unwrapped (Par1 p)) #

Wrapped (IntMap a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (IntMap a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (IntMap a) = [(Int, a)]

Methods

_Wrapped' :: Iso' (IntMap a) (Unwrapped (IntMap a)) #

Wrapped (Seq a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Seq a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Seq a) = [a]

Methods

_Wrapped' :: Iso' (Seq a) (Unwrapped (Seq a)) #

Ord a => Wrapped (Set a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Set a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Set a) = [a]

Methods

_Wrapped' :: Iso' (Set a) (Unwrapped (Set a)) #

(Hashable a, Eq a) => Wrapped (HashSet a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (HashSet a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (HashSet a) = [a]

Methods

_Wrapped' :: Iso' (HashSet a) (Unwrapped (HashSet a)) #

Wrapped (Vector a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Vector a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Vector a) = [a]

Methods

_Wrapped' :: Iso' (Vector a) (Unwrapped (Vector a)) #

Prim a => Wrapped (Vector a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Vector a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Vector a) = [a]

Methods

_Wrapped' :: Iso' (Vector a) (Unwrapped (Vector a)) #

Storable a => Wrapped (Vector a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Vector a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Vector a) = [a]

Methods

_Wrapped' :: Iso' (Vector a) (Unwrapped (Vector a)) #

Unbox a => Wrapped (Vector a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Vector a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Vector a) = [a]

Methods

_Wrapped' :: Iso' (Vector a) (Unwrapped (Vector a)) #

Wrapped (WrappedMonad m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedMonad m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (WrappedMonad m a) = m a

Methods

_Wrapped' :: Iso' (WrappedMonad m a) (Unwrapped (WrappedMonad m a)) #

Wrapped (ArrowMonad m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ArrowMonad m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (ArrowMonad m a) = m () a

Methods

_Wrapped' :: Iso' (ArrowMonad m a) (Unwrapped (ArrowMonad m a)) #

Wrapped (Op a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Op a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Op a b) = b -> a

Methods

_Wrapped' :: Iso' (Op a b) (Unwrapped (Op a b)) #

Ord k => Wrapped (Map k a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Map k a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Map k a) = [(k, a)]

Methods

_Wrapped' :: Iso' (Map k a) (Unwrapped (Map k a)) #

Wrapped (CatchT m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (CatchT m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (CatchT m a) = m (Either SomeException a)

Methods

_Wrapped' :: Iso' (CatchT m a) (Unwrapped (CatchT m a)) #

Wrapped (Alt f a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Alt f a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Alt f a) = [AltF f a]

Methods

_Wrapped' :: Iso' (Alt f a) (Unwrapped (Alt f a)) #

Wrapped (CoiterT w a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (CoiterT w a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (CoiterT w a) = w (a, CoiterT w a)

Methods

_Wrapped' :: Iso' (CoiterT w a) (Unwrapped (CoiterT w a)) #

Wrapped (IterT m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (IterT m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (IterT m a) = m (Either a (IterT m a))

Methods

_Wrapped' :: Iso' (IterT m a) (Unwrapped (IterT m a)) #

Wrapped (MaybeApply f a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (MaybeApply f a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (MaybeApply f a) = Either (f a) a

Methods

_Wrapped' :: Iso' (MaybeApply f a) (Unwrapped (MaybeApply f a)) #

Wrapped (WrappedApplicative f a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedApplicative f a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (WrappedApplicative f a) = f a

Methods

_Wrapped' :: Iso' (WrappedApplicative f a) (Unwrapped (WrappedApplicative f a)) #

Wrapped (MaybeT m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (MaybeT m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (MaybeT m a) = m (Maybe a)

Methods

_Wrapped' :: Iso' (MaybeT m a) (Unwrapped (MaybeT m a)) #

(Hashable k, Eq k) => Wrapped (HashMap k a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (HashMap k a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (HashMap k a) = [(k, a)]

Methods

_Wrapped' :: Iso' (HashMap k a) (Unwrapped (HashMap k a)) #

Wrapped (WrappedArrow a b c) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedArrow a b c) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (WrappedArrow a b c) = a b c

Methods

_Wrapped' :: Iso' (WrappedArrow a b c) (Unwrapped (WrappedArrow a b c)) #

Wrapped (Kleisli m a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Kleisli m a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Kleisli m a b) = a -> m b

Methods

_Wrapped' :: Iso' (Kleisli m a b) (Unwrapped (Kleisli m a b)) #

Wrapped (Const a x) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Const a x) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Const a x) = a

Methods

_Wrapped' :: Iso' (Const a x) (Unwrapped (Const a x)) #

Wrapped (Ap f a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Ap f a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Ap f a) = f a

Methods

_Wrapped' :: Iso' (Ap f a) (Unwrapped (Ap f a)) #

Wrapped (Alt f a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Alt f a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Alt f a) = f a

Methods

_Wrapped' :: Iso' (Alt f a) (Unwrapped (Alt f a)) #

Wrapped (Rec1 f p) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Rec1 f p) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Rec1 f p) = f p

Methods

_Wrapped' :: Iso' (Rec1 f p) (Unwrapped (Rec1 f p)) #

Wrapped (Fix p a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Fix p a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Fix p a) = p (Fix p a) a

Methods

_Wrapped' :: Iso' (Fix p a) (Unwrapped (Fix p a)) #

Wrapped (Join p a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Join p a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Join p a) = p a a

Methods

_Wrapped' :: Iso' (Join p a) (Unwrapped (Join p a)) #

Wrapped (TracedT m w a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (TracedT m w a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (TracedT m w a) = w (m -> a)

Methods

_Wrapped' :: Iso' (TracedT m w a) (Unwrapped (TracedT m w a)) #

Wrapped (Compose f g a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Compose f g a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Compose f g a) = f (g a)

Methods

_Wrapped' :: Iso' (Compose f g a) (Unwrapped (Compose f g a)) #

Wrapped (ComposeCF f g a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ComposeCF f g a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (ComposeCF f g a) = f (g a)

Methods

_Wrapped' :: Iso' (ComposeCF f g a) (Unwrapped (ComposeCF f g a)) #

Wrapped (ComposeFC f g a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ComposeFC f g a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (ComposeFC f g a) = f (g a)

Methods

_Wrapped' :: Iso' (ComposeFC f g a) (Unwrapped (ComposeFC f g a)) #

Wrapped (ApT f g a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ApT f g a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (ApT f g a) = g (ApF f g a)

Methods

_Wrapped' :: Iso' (ApT f g a) (Unwrapped (ApT f g a)) #

Wrapped (CofreeT f w a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (CofreeT f w a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (CofreeT f w a) = w (CofreeF f a (CofreeT f w a))

Methods

_Wrapped' :: Iso' (CofreeT f w a) (Unwrapped (CofreeT f w a)) #

Wrapped (FreeT f m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (FreeT f m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (FreeT f m a) = m (FreeF f a (FreeT f m a))

Methods

_Wrapped' :: Iso' (FreeT f m a) (Unwrapped (FreeT f m a)) #

Wrapped (Static f a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Static f a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Static f a b) = f (a -> b)

Methods

_Wrapped' :: Iso' (Static f a b) (Unwrapped (Static f a b)) #

Wrapped (Tagged s a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Tagged s a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Tagged s a) = a

Methods

_Wrapped' :: Iso' (Tagged s a) (Unwrapped (Tagged s a)) #

Wrapped (Backwards f a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Backwards f a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Backwards f a) = f a

Methods

_Wrapped' :: Iso' (Backwards f a) (Unwrapped (Backwards f a)) #

Wrapped (ExceptT e m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ExceptT e m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (ExceptT e m a) = m (Either e a)

Methods

_Wrapped' :: Iso' (ExceptT e m a) (Unwrapped (ExceptT e m a)) #

Wrapped (IdentityT m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (IdentityT m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (IdentityT m a) = m a

Methods

_Wrapped' :: Iso' (IdentityT m a) (Unwrapped (IdentityT m a)) #

Wrapped (ReaderT r m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ReaderT r m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (ReaderT r m a) = r -> m a

Methods

_Wrapped' :: Iso' (ReaderT r m a) (Unwrapped (ReaderT r m a)) #

Wrapped (StateT s m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (StateT s m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (StateT s m a) = s -> m (a, s)

Methods

_Wrapped' :: Iso' (StateT s m a) (Unwrapped (StateT s m a)) #

Wrapped (StateT s m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (StateT s m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (StateT s m a) = s -> m (a, s)

Methods

_Wrapped' :: Iso' (StateT s m a) (Unwrapped (StateT s m a)) #

Wrapped (WriterT w m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WriterT w m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (WriterT w m a) = m (a, w)

Methods

_Wrapped' :: Iso' (WriterT w m a) (Unwrapped (WriterT w m a)) #

Wrapped (WriterT w m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WriterT w m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (WriterT w m a) = m (a, w)

Methods

_Wrapped' :: Iso' (WriterT w m a) (Unwrapped (WriterT w m a)) #

Wrapped (Constant a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Constant a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Constant a b) = a

Methods

_Wrapped' :: Iso' (Constant a b) (Unwrapped (Constant a b)) #

Wrapped (Reverse f a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Reverse f a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Reverse f a) = f a

Methods

_Wrapped' :: Iso' (Reverse f a) (Unwrapped (Reverse f a)) #

Wrapped (K1 i c p) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (K1 i c p) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (K1 i c p) = c

Methods

_Wrapped' :: Iso' (K1 i c p) (Unwrapped (K1 i c p)) #

Wrapped (Costar f d c) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Costar f d c) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Costar f d c) = f d -> c

Methods

_Wrapped' :: Iso' (Costar f d c) (Unwrapped (Costar f d c)) #

Wrapped (Forget r a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Forget r a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Forget r a b) = a -> r

Methods

_Wrapped' :: Iso' (Forget r a b) (Unwrapped (Forget r a b)) #

Wrapped (Star f d c) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Star f d c) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Star f d c) = d -> f c

Methods

_Wrapped' :: Iso' (Star f d c) (Unwrapped (Star f d c)) #

Wrapped (ContT r m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ContT r m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (ContT r m a) = (a -> m r) -> m r

Methods

_Wrapped' :: Iso' (ContT r m a) (Unwrapped (ContT r m a)) #

Wrapped (Compose f g a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Compose f g a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Compose f g a) = f (g a)

Methods

_Wrapped' :: Iso' (Compose f g a) (Unwrapped (Compose f g a)) #

Wrapped ((f :.: g) p) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped ((f :.: g) p) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped ((f :.: g) p) = f (g p)

Methods

_Wrapped' :: Iso' ((f :.: g) p) (Unwrapped ((f :.: g) p)) #

Wrapped (M1 i c f p) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (M1 i c f p) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (M1 i c f p) = f p

Methods

_Wrapped' :: Iso' (M1 i c f p) (Unwrapped (M1 i c f p)) #

Wrapped (Clown f a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Clown f a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Clown f a b) = f a

Methods

_Wrapped' :: Iso' (Clown f a b) (Unwrapped (Clown f a b)) #

Wrapped (Flip p a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Flip p a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Flip p a b) = p b a

Methods

_Wrapped' :: Iso' (Flip p a b) (Unwrapped (Flip p a b)) #

Wrapped (Joker g a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Joker g a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Joker g a b) = g b

Methods

_Wrapped' :: Iso' (Joker g a b) (Unwrapped (Joker g a b)) #

Wrapped (WrappedBifunctor p a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedBifunctor p a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (WrappedBifunctor p a b) = p a b

Methods

_Wrapped' :: Iso' (WrappedBifunctor p a b) (Unwrapped (WrappedBifunctor p a b)) #

Wrapped (WrappedArrow p a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedArrow p a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (WrappedArrow p a b) = p a b

Methods

_Wrapped' :: Iso' (WrappedArrow p a b) (Unwrapped (WrappedArrow p a b)) #

Wrapped (Semi m a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Semi m a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Semi m a b) = m

Methods

_Wrapped' :: Iso' (Semi m a b) (Unwrapped (Semi m a b)) #

Wrapped (WrappedCategory k3 a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedCategory k3 a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (WrappedCategory k3 a b) = k3 a b

Methods

_Wrapped' :: Iso' (WrappedCategory k3 a b) (Unwrapped (WrappedCategory k3 a b)) #

Wrapped (Dual k3 a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Dual k3 a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Dual k3 a b) = k3 b a

Methods

_Wrapped' :: Iso' (Dual k3 a b) (Unwrapped (Dual k3 a b)) #

Wrapped (RWST r w s m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (RWST r w s m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (RWST r w s m a) = r -> s -> m (a, s, w)

Methods

_Wrapped' :: Iso' (RWST r w s m a) (Unwrapped (RWST r w s m a)) #

Wrapped (RWST r w s m a) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (RWST r w s m a) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (RWST r w s m a) = r -> s -> m (a, s, w)

Methods

_Wrapped' :: Iso' (RWST r w s m a) (Unwrapped (RWST r w s m a)) #

Wrapped (Tannen f p a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Tannen f p a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Tannen f p a b) = f (p a b)

Methods

_Wrapped' :: Iso' (Tannen f p a b) (Unwrapped (Tannen f p a b)) #

Wrapped (Cayley f p a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Cayley f p a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Cayley f p a b) = f (p a b)

Methods

_Wrapped' :: Iso' (Cayley f p a b) (Unwrapped (Cayley f p a b)) #

Wrapped (Biff p f g a b) # |

Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Biff p f g a b) |
Instance details Defined in Control.Lens.Wrapped type Unwrapped (Biff p f g a b) = p (f a) (g b)

Methods

_Wrapped' :: Iso' (Biff p f g a b) (Unwrapped (Biff p f g a b)) #

_Unwrapped' :: Wrapped s => Iso' (Unwrapped s) s #

_Wrapping' :: Wrapped s => (Unwrapped s -> s) -> Iso' s (Unwrapped s) #

This is a convenient version of `_Wrapped` with an argument that's ignored.

The user supplied function is ignored, merely its type is used.

_Unwrapping' :: Wrapped s => (Unwrapped s -> s) -> Iso' (Unwrapped s) s #

This is a convenient version of `_Wrapped` with an argument that's ignored.

The user supplied function is ignored, merely its type is used.

# Wrapping and unwrapping polymorphically

class Wrapped s => Rewrapped s t #

#### Instances

Instances details

t ~ NoMethodError => Rewrapped NoMethodError t # |
Instance details Defined in Control.Lens.Wrapped
t ~ PatternMatchFail => Rewrapped PatternMatchFail t # |
Instance details Defined in Control.Lens.Wrapped
t ~ RecConError => Rewrapped RecConError t # |
Instance details Defined in Control.Lens.Wrapped
t ~ RecSelError => Rewrapped RecSelError t # |
Instance details Defined in Control.Lens.Wrapped
t ~ RecUpdError => Rewrapped RecUpdError t # |
Instance details Defined in Control.Lens.Wrapped
t ~ TypeError => Rewrapped TypeError t # |
Instance details Defined in Control.Lens.Wrapped
t ~ All => Rewrapped All t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Any => Rewrapped Any t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped Errno t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CBool t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CChar t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CClock t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CDouble t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CFloat t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CInt t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CIntMax t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CIntPtr t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CLLong t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CLong t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CPtrdiff t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CSChar t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CSUSeconds t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CShort t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CSigAtomic t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CSize t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CTime t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CUChar t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CUInt t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CUIntMax t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CUIntPtr t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CULLong t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CULong t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CUSeconds t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CUShort t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CWchar t # |
Instance details Defined in Control.Lens.Wrapped
t ~ ErrorCall => Rewrapped ErrorCall t # |
Instance details Defined in Control.Lens.Wrapped
t ~ AssertionFailed => Rewrapped AssertionFailed t # |
Instance details Defined in Control.Lens.Wrapped
t ~ CompactionFailed => Rewrapped CompactionFailed t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CBlkCnt t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CBlkSize t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CCc t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CClockId t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CDev t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CFsBlkCnt t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CFsFilCnt t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CGid t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CId t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CIno t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CKey t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CMode t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CNlink t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped COff t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CPid t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CRLim t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CSpeed t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CSsize t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CTcflag t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CTimer t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped CUid t # |
Instance details Defined in Control.Lens.Wrapped
Rewrapped Fd t # |
Instance details Defined in Control.Lens.Wrapped
t ~ IntSet => Rewrapped IntSet t # | Use ``_Wrapping` `fromList``. unwrapping returns a sorted list.
Instance details Defined in Control.Lens.Wrapped
t ~ ZipList b => Rewrapped (ZipList a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Comparison b => Rewrapped (Comparison a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Equivalence b => Rewrapped (Equivalence a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Predicate b => Rewrapped (Predicate a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Identity b => Rewrapped (Identity a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ First b => Rewrapped (First a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Last b => Rewrapped (Last a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Down b => Rewrapped (Down a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ First b => Rewrapped (First a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Last b => Rewrapped (Last a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Max b => Rewrapped (Max a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Min b => Rewrapped (Min a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ WrappedMonoid b => Rewrapped (WrappedMonoid a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Dual b => Rewrapped (Dual a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Endo b => Rewrapped (Endo a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Product b => Rewrapped (Product a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Sum b => Rewrapped (Sum a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ NonEmpty b => Rewrapped (NonEmpty a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Par1 p' => Rewrapped (Par1 p) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ IntMap a' => Rewrapped (IntMap a) t # | Use ``_Wrapping` `fromList``. unwrapping returns a sorted list.
Instance details Defined in Control.Lens.Wrapped
t ~ Seq a' => Rewrapped (Seq a) t # |
Instance details Defined in Control.Lens.Wrapped
(t ~ Set a', Ord a) => Rewrapped (Set a) t # | Use ``_Wrapping` `fromList``. unwrapping returns a sorted list.
Instance details Defined in Control.Lens.Wrapped
(t ~ HashSet a', Hashable a, Eq a) => Rewrapped (HashSet a) t # | Use ``_Wrapping` `fromList``. Unwrapping returns some permutation of the list.
Instance details Defined in Control.Lens.Wrapped
t ~ Vector a' => Rewrapped (Vector a) t # |
Instance details Defined in Control.Lens.Wrapped
(Prim a, t ~ Vector a') => Rewrapped (Vector a) t # |
Instance details Defined in Control.Lens.Wrapped
(Storable a, t ~ Vector a') => Rewrapped (Vector a) t # |
Instance details Defined in Control.Lens.Wrapped
(Unbox a, t ~ Vector a') => Rewrapped (Vector a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ WrappedMonad m' a' => Rewrapped (WrappedMonad m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ ArrowMonad m' a' => Rewrapped (ArrowMonad m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Op a' b' => Rewrapped (Op a b) t # |
Instance details Defined in Control.Lens.Wrapped
(t ~ Map k' a', Ord k) => Rewrapped (Map k a) t # | Use ``_Wrapping` `fromList``. unwrapping returns a sorted list.
Instance details Defined in Control.Lens.Wrapped
t ~ CatchT m' a' => Rewrapped (CatchT m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Alt f' a' => Rewrapped (Alt f a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ CoiterT w' a' => Rewrapped (CoiterT w a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ IterT m' a' => Rewrapped (IterT m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ MaybeApply f' a' => Rewrapped (MaybeApply f a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ WrappedApplicative f' a' => Rewrapped (WrappedApplicative f a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ MaybeT n b => Rewrapped (MaybeT m a) t # |
Instance details Defined in Control.Lens.Wrapped
(t ~ HashMap k' a', Hashable k, Eq k) => Rewrapped (HashMap k a) t # | Use ``_Wrapping` `fromList``. Unwrapping returns some permutation of the list.
Instance details Defined in Control.Lens.Wrapped
t ~ WrappedArrow a' b' c' => Rewrapped (WrappedArrow a b c) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Kleisli m' a' b' => Rewrapped (Kleisli m a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Const a' x' => Rewrapped (Const a x) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Ap g b => Rewrapped (Ap f a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Alt g b => Rewrapped (Alt f a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Rec1 f' p' => Rewrapped (Rec1 f p) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Fix p' a' => Rewrapped (Fix p a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Join p' a' => Rewrapped (Join p a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ TracedT m' w' a' => Rewrapped (TracedT m w a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Compose f' g' a' => Rewrapped (Compose f g a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ ComposeCF f' g' a' => Rewrapped (ComposeCF f g a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ ComposeFC f' g' a' => Rewrapped (ComposeFC f g a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ ApT f' g' a' => Rewrapped (ApT f g a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ CofreeT f' w' a' => Rewrapped (CofreeT f w a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ FreeT f' m' a' => Rewrapped (FreeT f m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Static f' a' b' => Rewrapped (Static f a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Tagged s' a' => Rewrapped (Tagged s a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Backwards g b => Rewrapped (Backwards f a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ ExceptT e' m' a' => Rewrapped (ExceptT e m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ IdentityT n b => Rewrapped (IdentityT m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ ReaderT s n b => Rewrapped (ReaderT r m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ StateT s' m' a' => Rewrapped (StateT s m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ StateT s' m' a' => Rewrapped (StateT s m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ WriterT w' m' a' => Rewrapped (WriterT w m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ WriterT w' m' a' => Rewrapped (WriterT w m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Constant a' b' => Rewrapped (Constant a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Reverse g b => Rewrapped (Reverse f a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ K1 i' c' p' => Rewrapped (K1 i c p) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Costar f' d' c' => Rewrapped (Costar f d c) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Forget r' a' b' => Rewrapped (Forget r a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Star f' d' c' => Rewrapped (Star f d c) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ ContT r' m' a' => Rewrapped (ContT r m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Compose f' g' a' => Rewrapped (Compose f g a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ (f' :.: g') p' => Rewrapped ((f :.: g) p) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ M1 i' c' f' p' => Rewrapped (M1 i c f p) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Clown f' a' b' => Rewrapped (Clown f a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Flip p' a' b' => Rewrapped (Flip p a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Joker g' a' b' => Rewrapped (Joker g a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ WrappedBifunctor p' a' b' => Rewrapped (WrappedBifunctor p a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ WrappedArrow p' a' b' => Rewrapped (WrappedArrow p a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Semi m' a' b' => Rewrapped (Semi m a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ WrappedCategory k' a' b' => Rewrapped (WrappedCategory k6 a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Dual k' a' b' => Rewrapped (Dual k6 a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ RWST r' w' s' m' a' => Rewrapped (RWST r w s m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ RWST r' w' s' m' a' => Rewrapped (RWST r w s m a) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Tannen f' p' a' b' => Rewrapped (Tannen f p a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Cayley f' p' a' b' => Rewrapped (Cayley f p a b) t # |
Instance details Defined in Control.Lens.Wrapped
t ~ Biff p' f' g' a' b' => Rewrapped (Biff p f g a b) t # |
Instance details Defined in Control.Lens.Wrapped

class (Rewrapped s t, Rewrapped t s) => Rewrapping s t #

#### Instances

Instances details

(Rewrapped s t, Rewrapped t s) => Rewrapping s t # |
Instance details Defined in Control.Lens.Wrapped

_Wrapped :: Rewrapping s t => Iso s t (Unwrapped s) (Unwrapped t) #

Work under a newtype wrapper.

    >>> Const "hello" & _Wrapped %~ Prelude.length & getConst
    5

    _Wrapped   ≡ from _Unwrapped
    _Unwrapped ≡ from _Wrapped

_Unwrapped :: Rewrapping s t => Iso (Unwrapped t) (Unwrapped s) t s #

_Wrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso s t (Unwrapped s) (Unwrapped t) #

This is a convenient version of `_Wrapped` with an argument that's ignored.

The user supplied function is ignored, merely its types are used.

_Unwrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso (Unwrapped t) (Unwrapped s) t s #

This is a convenient version of `_Unwrapped` with an argument that's ignored.

The user supplied function is ignored, merely its types are used.

# Operations

op :: Wrapped s => (Unwrapped s -> s) -> s -> Unwrapped s #

Given the constructor for a `Wrapped` type, return a deconstructor that is its inverse.

Assuming the `Wrapped` instance is legal, these laws hold:

    op f . f ≡ id
    f . op f ≡ id

    >>> op Identity (Identity 4)
    4

    >>> op Const (Const "hello")
    "hello"

ala :: (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s) #

This combinator is based on `ala` from Conor McBride's work on Epigram.

As with `_Wrapping`, the user supplied function for the newtype is ignored.

    >>> ala Sum foldMap [1,2,3,4]
    10

    >>> ala All foldMap [True,True]
    True

    >>> ala All foldMap [True,False]
    False

    >>> ala Any foldMap [False,False]
    False

    >>> ala Any foldMap [True,False]
    True

    >>> ala Product foldMap [1,2,3,4]
    24

You may want to think of this combinator as having the following, simpler, type.

    ala :: Rewrapping s t => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> e -> s) -> e -> Unwrapped s

alaf :: (Functor f, Functor g, Rewrapping s t) => (Unwrapped s -> s) -> (f t -> g s) -> f (Unwrapped t) -> g (Unwrapped s) #

This combinator is based on `ala'` from Conor McBride's work on Epigram.

As with `_Wrapping`, the user supplied function for the newtype is ignored.

    alaf :: Rewrapping s t => (Unwrapped s -> s) -> ((r -> t) -> e -> s) -> (r -> Unwrapped t) -> e -> Unwrapped s

    >>> alaf Sum foldMap Prelude.length ["hello","world"]
    10

# Pattern Synonyms

pattern Wrapped :: Rewrapped s s => Unwrapped s -> s #

pattern Unwrapped :: Rewrapped t t => t -> Unwrapped t #

# Generics

_GWrapped' :: forall s (d :: Meta) (c :: Meta) (s' :: Meta) a. (Generic s, D1 d (C1 c (S1 s' (Rec0 a))) ~ Rep s, Unwrapped s ~ GUnwrapped (Rep s)) => Iso' s (Unwrapped s) #

Implement the `_Wrapped` operation for a type using its `Generic` instance.