@@ -64,7 +64,12 @@ typeChangingManualCompose = typeChangingManual . typeChangingManual
64newtype L s a = L (Lens' s a)
64newtype L s a = L (Lens' s a)
66intTraversalManual :: Traversal' Record3 Int
66intTraversalManual :: Traversal' Record3 Int
67−intTraversalManual = types
67+intTraversalManual f (MkRecord3 a b c d e f') =
68+ (\a1 a2 a3 a4 -> MkRecord3 a1 a2 c a3 e a4) <$> f a <*> f b <*> f d <*> f f'
70+intTraversalDerived :: Traversal' Record3 Int
71+intTraversalDerived = types
69intTraversalDerived3 :: Traversal' (Record4 Int) Int
74intTraversalDerived3 :: Traversal' (Record4 Int) Int
70intTraversalDerived3 = genericTraverse
75intTraversalDerived3 = genericTraverse
@@ -129,5 +134,6 @@ inspect $ 'subtypeLensManual === 'subtypeLensGeneric
129inspect $ 'typeChangingManual === 'typeChangingGeneric
134inspect $ 'typeChangingManual === 'typeChangingGeneric
130inspect $ 'typeChangingManual === 'typeChangingGenericPos
135inspect $ 'typeChangingManual === 'typeChangingGenericPos
131inspect $ 'typeChangingManualCompose === 'typeChangingGenericCompose
136inspect $ 'typeChangingManualCompose === 'typeChangingGenericCompose
137+inspect $ 'intTraversalManual === 'intTraversalDerived
133--inspect $ 'sum1PrismManual === 'sum1PrismB
139--inspect $ 'sum1PrismManual === 'sum1PrismB