@@ -34,6 +34,8 @@ Table of contents
3434 * [By name](#by-name-1)
3535 * [By type](#by-type-2)
3636* [Performance](#performance)
37+ * [Inspection testing](#inspection-testing)
38+ * [Benchmarks](#benchmarks)
3739* [Contributors](#contributors)
3840
3941# Preliminaries
@@ -141,6 +143,10 @@ This example shows that higher-kinded parameters can also be changed (`Maybe`
141143-> `[]`). We turn a `Foo Maybe Int` into a `Foo [] String` by turning the inner
142144`Maybe Int` into a `[String]`.
143145
146+With `DuplicateRecordFields`, multiple data types can share the same field
147+name, and the `field` lens works in this case too. No more field name
148+prefixing!
149+
144150### By position
145151
146152Fields can be accessed by their position in the data structure (index starting at 1):
@@ -295,7 +301,7 @@ type class.
295301
296302```haskell
297303constraints :: HasConstraints c s t => Applicative g => (forall a b . c a b => a -> g b) -> s -> g t
298−constraints' :: HasConstraints' c s => Applicative g => (forall a . c a => a -> g b) -> s -> g s
304+constraints' :: HasConstraints' c s => Applicative g => (forall a . c a => a -> g a) -> s -> g s
299305```
300306
301307Consider the `Numbers` type, which contains three different numeric types:
@@ -393,6 +399,8 @@ Duck 6
393399
394400# Performance
395401TODO.
402+## Inspection testing
403+## Benchmarks
396404# Contributors
397405
398406+ [Matthew Pickering](https://github.com/mpickering)