generics-sop-lens 0.1.2.1 → 0.1.3
raw patch · 3 files changed
+54/−10 lines, 3 filesdep ~generics-sopPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: generics-sop
API changes (from Hackage documentation)
- Generics.SOP.Lens: instance Control.Lens.Wrapped.Wrapped (Generics.SOP.BasicFunctors.I a)
- Generics.SOP.Lens: instance forall a (f :: a -> GHC.Types.*) (a1 :: a) (b :: a) (c :: a) (d :: a) (e :: a) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field6 (Generics.SOP.NP.NP f (a1 : b : c : d : e : x : zs)) (Generics.SOP.NP.NP f (a1 : b : c : d : e : y : zs)) (f x) (f y)
- Generics.SOP.Lens: instance forall a (f :: a -> GHC.Types.*) (a1 :: a) (b :: a) (c :: a) (d :: a) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field5 (Generics.SOP.NP.NP f (a1 : b : c : d : x : zs)) (Generics.SOP.NP.NP f (a1 : b : c : d : y : zs)) (f x) (f y)
- Generics.SOP.Lens: instance forall a (f :: a -> GHC.Types.*) (a1 :: a) (b :: a) (c :: a) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field4 (Generics.SOP.NP.NP f (a1 : b : c : x : zs)) (Generics.SOP.NP.NP f (a1 : b : c : y : zs)) (f x) (f y)
- Generics.SOP.Lens: instance forall a (f :: a -> GHC.Types.*) (a1 :: a) (b :: a) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field3 (Generics.SOP.NP.NP f (a1 : b : x : zs)) (Generics.SOP.NP.NP f (a1 : b : y : zs)) (f x) (f y)
- Generics.SOP.Lens: instance forall a (f :: a -> GHC.Types.*) (a1 :: a) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field2 (Generics.SOP.NP.NP f (a1 : x : zs)) (Generics.SOP.NP.NP f (a1 : y : zs)) (f x) (f y)
- Generics.SOP.Lens: instance forall a (f :: a -> GHC.Types.*) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field1 (Generics.SOP.NP.NP f (x : zs)) (Generics.SOP.NP.NP f (y : zs)) (f x) (f y)
- Generics.SOP.Lens: instance forall a (f' :: a -> GHC.Types.*) (a1 :: a) (b :: a) (c :: a) (d :: a) (e :: a) (f :: a) (g :: a) (h :: a) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field9 (Generics.SOP.NP.NP f' (a1 : b : c : d : e : f : g : h : x : zs)) (Generics.SOP.NP.NP f' (a1 : b : c : d : e : f : g : h : y : zs)) (f' x) (f' y)
- Generics.SOP.Lens: instance forall a (f' :: a -> GHC.Types.*) (a1 :: a) (b :: a) (c :: a) (d :: a) (e :: a) (f :: a) (g :: a) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field8 (Generics.SOP.NP.NP f' (a1 : b : c : d : e : f : g : x : zs)) (Generics.SOP.NP.NP f' (a1 : b : c : d : e : f : g : y : zs)) (f' x) (f' y)
- Generics.SOP.Lens: instance forall a (f' :: a -> GHC.Types.*) (a1 :: a) (b :: a) (c :: a) (d :: a) (e :: a) (f :: a) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field7 (Generics.SOP.NP.NP f' (a1 : b : c : d : e : f : x : zs)) (Generics.SOP.NP.NP f' (a1 : b : c : d : e : f : y : zs)) (f' x) (f' y)
- Generics.SOP.Lens: instance forall k (f :: k -> GHC.Types.*) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field6 (Generics.SOP.NP.POP f (a : b : c : d : e : x : zs)) (Generics.SOP.NP.POP f (a : b : c : d : e : y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
- Generics.SOP.Lens: instance forall k (f :: k -> GHC.Types.*) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field5 (Generics.SOP.NP.POP f (a : b : c : d : x : zs)) (Generics.SOP.NP.POP f (a : b : c : d : y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
- Generics.SOP.Lens: instance forall k (f :: k -> GHC.Types.*) (a :: [k]) (b :: [k]) (c :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field4 (Generics.SOP.NP.POP f (a : b : c : x : zs)) (Generics.SOP.NP.POP f (a : b : c : y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
- Generics.SOP.Lens: instance forall k (f :: k -> GHC.Types.*) (a :: [k]) (b :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field3 (Generics.SOP.NP.POP f (a : b : x : zs)) (Generics.SOP.NP.POP f (a : b : y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
- Generics.SOP.Lens: instance forall k (f :: k -> GHC.Types.*) (a :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field2 (Generics.SOP.NP.POP f (a : x : zs)) (Generics.SOP.NP.POP f (a : y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
- Generics.SOP.Lens: instance forall k (f :: k -> GHC.Types.*) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field1 (Generics.SOP.NP.POP f (x : zs)) (Generics.SOP.NP.POP f (y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
- Generics.SOP.Lens: instance forall k (f :: k -> GHC.Types.*) (xss :: [[k]]). Control.Lens.Wrapped.Wrapped (Generics.SOP.NP.POP f xss)
- Generics.SOP.Lens: instance forall k (f :: k -> GHC.Types.*) (xss :: [[k]]). Control.Lens.Wrapped.Wrapped (Generics.SOP.NS.SOP f xss)
- Generics.SOP.Lens: instance forall k (f' :: k -> GHC.Types.*) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (f :: [k]) (g :: [k]) (h :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field9 (Generics.SOP.NP.POP f' (a : b : c : d : e : f : g : h : x : zs)) (Generics.SOP.NP.POP f' (a : b : c : d : e : f : g : h : y : zs)) (Generics.SOP.NP.NP f' x) (Generics.SOP.NP.NP f' y)
- Generics.SOP.Lens: instance forall k (f' :: k -> GHC.Types.*) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (f :: [k]) (g :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field8 (Generics.SOP.NP.POP f' (a : b : c : d : e : f : g : x : zs)) (Generics.SOP.NP.POP f' (a : b : c : d : e : f : g : y : zs)) (Generics.SOP.NP.NP f' x) (Generics.SOP.NP.NP f' y)
- Generics.SOP.Lens: instance forall k (f' :: k -> GHC.Types.*) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (f :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field7 (Generics.SOP.NP.POP f' (a : b : c : d : e : f : x : zs)) (Generics.SOP.NP.POP f' (a : b : c : d : e : f : y : zs)) (Generics.SOP.NP.NP f' x) (Generics.SOP.NP.NP f' y)
- Generics.SOP.Lens: instance forall k a (b :: k). Control.Lens.Wrapped.Wrapped (Generics.SOP.BasicFunctors.K a b)
- Generics.SOP.Lens: instance forall k t (f :: k -> GHC.Types.*) (xss :: [[k]]). t ~ Generics.SOP.NP.POP f xss => Control.Lens.Wrapped.Rewrapped (Generics.SOP.NP.POP f xss) t
- Generics.SOP.Lens: instance forall k t (f :: k -> GHC.Types.*) (xss :: [[k]]). t ~ Generics.SOP.NS.SOP f xss => Control.Lens.Wrapped.Rewrapped (Generics.SOP.NS.SOP f xss) t
- Generics.SOP.Lens: instance forall k t a (b :: k). t ~ Generics.SOP.BasicFunctors.K a b => Control.Lens.Wrapped.Rewrapped (Generics.SOP.BasicFunctors.K a b) t
- Generics.SOP.Lens: instance t ~ Generics.SOP.BasicFunctors.I a => Control.Lens.Wrapped.Rewrapped (Generics.SOP.BasicFunctors.I a) t
+ Generics.SOP.Lens: instance (t Data.Type.Equality.~ Data.SOP.BasicFunctors.I a) => Control.Lens.Wrapped.Rewrapped (Data.SOP.BasicFunctors.I a) t
+ Generics.SOP.Lens: instance Control.Lens.Wrapped.Wrapped (Data.SOP.BasicFunctors.I a)
+ Generics.SOP.Lens: instance forall a (f :: a -> *) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field1 (Data.SOP.NP.NP f (x : zs)) (Data.SOP.NP.NP f (y : zs)) (f x) (f y)
+ Generics.SOP.Lens: instance forall a1 (f :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (d :: a1) (e :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field6 (Data.SOP.NP.NP f (a2 : b : c : d : e : x : zs)) (Data.SOP.NP.NP f (a2 : b : c : d : e : y : zs)) (f x) (f y)
+ Generics.SOP.Lens: instance forall a1 (f :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (d :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field5 (Data.SOP.NP.NP f (a2 : b : c : d : x : zs)) (Data.SOP.NP.NP f (a2 : b : c : d : y : zs)) (f x) (f y)
+ Generics.SOP.Lens: instance forall a1 (f :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field4 (Data.SOP.NP.NP f (a2 : b : c : x : zs)) (Data.SOP.NP.NP f (a2 : b : c : y : zs)) (f x) (f y)
+ Generics.SOP.Lens: instance forall a1 (f :: a1 -> *) (a2 :: a1) (b :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field3 (Data.SOP.NP.NP f (a2 : b : x : zs)) (Data.SOP.NP.NP f (a2 : b : y : zs)) (f x) (f y)
+ Generics.SOP.Lens: instance forall a1 (f :: a1 -> *) (a2 :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field2 (Data.SOP.NP.NP f (a2 : x : zs)) (Data.SOP.NP.NP f (a2 : y : zs)) (f x) (f y)
+ Generics.SOP.Lens: instance forall a1 (f' :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (d :: a1) (e :: a1) (f :: a1) (g :: a1) (h :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field9 (Data.SOP.NP.NP f' (a2 : b : c : d : e : f : g : h : x : zs)) (Data.SOP.NP.NP f' (a2 : b : c : d : e : f : g : h : y : zs)) (f' x) (f' y)
+ Generics.SOP.Lens: instance forall a1 (f' :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (d :: a1) (e :: a1) (f :: a1) (g :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field8 (Data.SOP.NP.NP f' (a2 : b : c : d : e : f : g : x : zs)) (Data.SOP.NP.NP f' (a2 : b : c : d : e : f : g : y : zs)) (f' x) (f' y)
+ Generics.SOP.Lens: instance forall a1 (f' :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (d :: a1) (e :: a1) (f :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field7 (Data.SOP.NP.NP f' (a2 : b : c : d : e : f : x : zs)) (Data.SOP.NP.NP f' (a2 : b : c : d : e : f : y : zs)) (f' x) (f' y)
+ Generics.SOP.Lens: instance forall k (f :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field6 (Data.SOP.NP.POP f (a : b : c : d : e : x : zs)) (Data.SOP.NP.POP f (a : b : c : d : e : y : zs)) (Data.SOP.NP.NP f x) (Data.SOP.NP.NP f y)
+ Generics.SOP.Lens: instance forall k (f :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field5 (Data.SOP.NP.POP f (a : b : c : d : x : zs)) (Data.SOP.NP.POP f (a : b : c : d : y : zs)) (Data.SOP.NP.NP f x) (Data.SOP.NP.NP f y)
+ Generics.SOP.Lens: instance forall k (f :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field4 (Data.SOP.NP.POP f (a : b : c : x : zs)) (Data.SOP.NP.POP f (a : b : c : y : zs)) (Data.SOP.NP.NP f x) (Data.SOP.NP.NP f y)
+ Generics.SOP.Lens: instance forall k (f :: k -> *) (a :: [k]) (b :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field3 (Data.SOP.NP.POP f (a : b : x : zs)) (Data.SOP.NP.POP f (a : b : y : zs)) (Data.SOP.NP.NP f x) (Data.SOP.NP.NP f y)
+ Generics.SOP.Lens: instance forall k (f :: k -> *) (a :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field2 (Data.SOP.NP.POP f (a : x : zs)) (Data.SOP.NP.POP f (a : y : zs)) (Data.SOP.NP.NP f x) (Data.SOP.NP.NP f y)
+ Generics.SOP.Lens: instance forall k (f :: k -> *) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field1 (Data.SOP.NP.POP f (x : zs)) (Data.SOP.NP.POP f (y : zs)) (Data.SOP.NP.NP f x) (Data.SOP.NP.NP f y)
+ Generics.SOP.Lens: instance forall k (f :: k -> *) (xss :: [[k]]). Control.Lens.Wrapped.Wrapped (Data.SOP.NP.POP f xss)
+ Generics.SOP.Lens: instance forall k (f :: k -> *) (xss :: [[k]]). Control.Lens.Wrapped.Wrapped (Data.SOP.NS.SOP f xss)
+ Generics.SOP.Lens: instance forall k (f' :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (f :: [k]) (g :: [k]) (h :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field9 (Data.SOP.NP.POP f' (a : b : c : d : e : f : g : h : x : zs)) (Data.SOP.NP.POP f' (a : b : c : d : e : f : g : h : y : zs)) (Data.SOP.NP.NP f' x) (Data.SOP.NP.NP f' y)
+ Generics.SOP.Lens: instance forall k (f' :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (f :: [k]) (g :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field8 (Data.SOP.NP.POP f' (a : b : c : d : e : f : g : x : zs)) (Data.SOP.NP.POP f' (a : b : c : d : e : f : g : y : zs)) (Data.SOP.NP.NP f' x) (Data.SOP.NP.NP f' y)
+ Generics.SOP.Lens: instance forall k (f' :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (f :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field7 (Data.SOP.NP.POP f' (a : b : c : d : e : f : x : zs)) (Data.SOP.NP.POP f' (a : b : c : d : e : f : y : zs)) (Data.SOP.NP.NP f' x) (Data.SOP.NP.NP f' y)
+ Generics.SOP.Lens: instance forall k a (b :: k). Control.Lens.Wrapped.Wrapped (Data.SOP.BasicFunctors.K a b)
+ Generics.SOP.Lens: instance forall k t (f :: k -> *) (xss :: [[k]]). (t Data.Type.Equality.~ Data.SOP.NP.POP f xss) => Control.Lens.Wrapped.Rewrapped (Data.SOP.NP.POP f xss) t
+ Generics.SOP.Lens: instance forall k t (f :: k -> *) (xss :: [[k]]). (t Data.Type.Equality.~ Data.SOP.NS.SOP f xss) => Control.Lens.Wrapped.Rewrapped (Data.SOP.NS.SOP f xss) t
+ Generics.SOP.Lens: instance forall k t a (b :: k). (t Data.Type.Equality.~ Data.SOP.BasicFunctors.K a b) => Control.Lens.Wrapped.Rewrapped (Data.SOP.BasicFunctors.K a b) t
+ Generics.SOP.Lens: strictnessInfo :: Traversal' (DatatypeInfo xss) (POP StrictnessInfo xss)
Files
- CHANGELOG.md +4/−0
- generics-sop-lens.cabal +12/−10
- src/Generics/SOP/Lens.hs +38/−0
CHANGELOG.md view
@@ -1,3 +1,7 @@+- 0.1.3+ - Support `generics-sop-0.5`+ - Add `strictnessInfo` traversal+ - 0.1.2.1 - Fix to work with `generics-sop-0.2.3.0`
generics-sop-lens.cabal view
@@ -1,19 +1,21 @@--- This file has been generated from package.yaml by hpack version 0.14.1.------ see: https://github.com/sol/hpack- name: generics-sop-lens-version: 0.1.2.1+version: 0.1.3 synopsis: Lenses for types in generics-sop description: Lenses for types in generics-sop package-category: Web+category: Generics, Data homepage: https://github.com/phadej/generics-sop-lens#readme bug-reports: https://github.com/phadej/generics-sop-lens/issues author: Oleg Grenrus <oleg.grenrus@iki.fi> maintainer: Oleg Grenrus <oleg.grenrus@iki.fi> license: BSD3 license-file: LICENSE-tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.1+tested-with:+ GHC==7.8.4,+ GHC==7.10.3,+ GHC==8.0.2,+ GHC==8.2.2,+ GHC==8.4.4,+ GHC==8.6.5 build-type: Simple cabal-version: >= 1.10 @@ -30,9 +32,9 @@ src ghc-options: -Wall build-depends:- base >=4.7 && <4.10- , generics-sop >=0.1 && <0.3- , lens >=4.7 && <4.16+ base >=4.7 && <4.13+ , generics-sop >=0.2 && <0.6+ , lens >=4.7 && <4.18 exposed-modules: Generics.SOP.Lens default-language: Haskell2010
src/Generics/SOP/Lens.hs view
@@ -41,12 +41,19 @@ Generics.SOP.Lens.datatypeName, Generics.SOP.Lens.constructorInfo, Generics.SOP.Lens.constructorName,+#if MIN_VERSION_generics_sop(0,5,0)+ Generics.SOP.Lens.strictnessInfo,+#endif ) where import Control.Lens import Generics.SOP hiding (from) import qualified Generics.SOP as SOP +#if MIN_VERSION_generics_sop(0,5,0)+import Generics.SOP.Metadata+#endif+ rep :: Generic a => Iso' a (Rep a) rep = iso SOP.from SOP.to @@ -233,33 +240,57 @@ moduleName = lens g s where g :: DatatypeInfo xss -> ModuleName+#if MIN_VERSION_generics_sop(0,5,0)+ g (ADT m _ _ _) = m+#else g (ADT m _ _) = m+#endif g (Newtype m _ _) = m s :: DatatypeInfo xss -> ModuleName -> DatatypeInfo xss+#if MIN_VERSION_generics_sop(0,5,0)+ s (ADT _ n cs ss) m = ADT m n cs ss+#else s (ADT _ n cs) m = ADT m n cs+#endif s (Newtype _ n c) m = Newtype m n c datatypeName :: Lens' (DatatypeInfo xss) DatatypeName datatypeName = lens g s where g :: DatatypeInfo xss -> DatatypeName+#if MIN_VERSION_generics_sop(0,5,0)+ g (ADT _ n _ _) = n+#else g (ADT _ n _) = n+#endif g (Newtype _ n _) = n s :: DatatypeInfo xss -> DatatypeName -> DatatypeInfo xss+#if MIN_VERSION_generics_sop(0,5,0)+ s (ADT m _ cs ss) n = ADT m n cs ss+#else s (ADT m _ cs) n = ADT m n cs+#endif s (Newtype m _ c) n = Newtype m n c constructorInfo :: Lens' (DatatypeInfo xss) (NP ConstructorInfo xss) constructorInfo = lens g s where g :: DatatypeInfo xss -> NP ConstructorInfo xss+#if MIN_VERSION_generics_sop(0,5,0)+ g (ADT _ _ cs _) = cs+#else g (ADT _ _ cs) = cs+#endif g (Newtype _ _ c) = c :* Nil s :: DatatypeInfo xss -> NP ConstructorInfo xss -> DatatypeInfo xss+#if MIN_VERSION_generics_sop(0,5,0)+ s (ADT m n _ ss) cs = ADT m n cs ss+#else s (ADT m n _) cs = ADT m n cs+#endif s (Newtype m n _) (c :* Nil) = Newtype m n c #if __GLASGOW_HASKELL__ < 800 s _ _ = error "constructorInfo set: impossible happened"@@ -271,3 +302,10 @@ constructorName f (Constructor n ) = (\ n' -> Constructor n' ) `fmap` f n constructorName f (Infix n a fix) = (\ n' -> Infix n' a fix) `fmap` f n constructorName f (Record n finfo) = (\ n' -> Record n' finfo) `fmap` f n++#if MIN_VERSION_generics_sop(0,5,0)+-- | Strictness info is only aviable for 'ADT' data. This combinator is available only with @generics-sop@ 0.5 or later.+strictnessInfo :: Traversal' (DatatypeInfo xss) (POP StrictnessInfo xss)+strictnessInfo _ di@(Newtype {}) = pure di+strictnessInfo f (ADT m n cs ss) = ADT m n cs <$> f ss+#endif