@@ -75,7 +75,7 @@ True
7575
7676## Structural subtyping
7777
78−A record is a (structural) `subtype' of another, if its fields are a subset of
78+A record is a (structural) `subtype' of another, if its fields are a superset of
7979those of the other.
8080
8181```haskell
@@ -103,18 +103,18 @@ Animal {name = "Tunyasz", age = 50}
103103>>> smash (Animal "dog" 10) human
104104Human {name = "dog", age = 10, address = "London"}
105105
106−-- 'subtype' is a lens that focuses on a subrecord of a larger record:
107−>>> human ^. subtype @Animal
106+-- 'super' is a lens that focuses on a subrecord of a larger record:
107+>>> human ^. super @Animal
108108Animal {name = "Tunyasz", age = 50}
109109```
110110
111−We can apply a function that operates on a subtype to the larger structure,
112−by focusing on the subtype first:
111+We can apply a function that operates on a supertype to the larger (subtype)
112+structure, by focusing on the supertype first:
113113
114114```haskell
115115growUp :: Animal -> Animal
116116growUp (Animal name age) = Animal name (age + 50)
117117
118−>>> human & subtype @Animal %~ growUp
118+>>> human & super @Animal %~ growUp
119119Human {name = "Tunyasz", age = 60, address = "London"}
120120```