diff --git a/README.md b/README.md
index ac48026..c29caff 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ always contains exactly one value, of type `a`.
. (Z[k].test (Identity (Useless)) ? '\u2705 ' :
. Z[k].test (Identity (['foo'])) ? '\u2705 * ' :
. /* otherwise */ '\u274C '))
-. (S.keys (Z.filter ($.test ([]) ($.TypeClass), Z)))
+. (S.keys (S.unchecked.filter (S.is ($.TypeClass)) (Z)))
[ 'Setoid ✅ * ', // if ‘a’ satisfies Setoid
. 'Ord ✅ * ', // if ‘a’ satisfies Ord
. 'Semigroupoid ❌ ',
@@ -41,7 +41,7 @@ always contains exactly one value, of type `a`.
. 'Contravariant ❌ ' ]
```
-#### `Identity :: a -> Identity a`
+#### `Identity :: a -> Identity a`
Identity's sole data constructor. Additionally, it serves as the
Identity [type representative][].
@@ -51,7 +51,7 @@ Identity [type representative][].
Identity (42)
```
-#### `Identity.@@type :: String`
+#### `Identity.@@type :: String`
Identity [type identifier][].
@@ -63,7 +63,7 @@ Identity [type identifier][].
{namespace: 'sanctuary-identity', name: 'Identity', version: 1}
```
-#### `Identity.fantasy-land/of :: a -> Identity a`
+#### `Identity.fantasy-land/of :: a -> Identity a`
`of (Identity) (x)` is equivalent to `Identity (x)`.
@@ -72,7 +72,7 @@ Identity [type identifier][].
Identity (42)
```
-#### `Identity.fantasy-land/chainRec :: ((a -> c, b -> c, a) -> Identity c, a) -> Identity b`
+#### `Identity.fantasy-land/chainRec :: ((a -> c, b -> c, a) -> Identity c, a) -> Identity b`
```javascript
> Z.chainRec (
@@ -90,7 +90,7 @@ Identity (64)
Identity (0)
```
-#### `Identity#@@show :: Showable a => Identity a ~> () -> String`
+#### `Identity#@@show :: Showable a => Identity a ~> () -> String`
`show (Identity (x))` is equivalent to `'Identity (' + show (x) + ')'`.
@@ -99,7 +99,7 @@ Identity (0)
'Identity (["foo", "bar", "baz"])'
```
-#### `Identity#fantasy-land/equals :: Setoid a => Identity a ~> Identity a -> Boolean`
+#### `Identity#fantasy-land/equals :: Setoid a => Identity a ~> Identity a -> Boolean`
`Identity (x)` is equal to `Identity (y)` [iff][] `x` is equal to `y`
according to [`Z.equals`][].
@@ -112,7 +112,7 @@ true
false
```
-#### `Identity#fantasy-land/lte :: Ord a => Identity a ~> Identity a -> Boolean`
+#### `Identity#fantasy-land/lte :: Ord a => Identity a ~> Identity a -> Boolean`
`Identity (x)` is less than or equal to `Identity (y)` [iff][] `x` is
less than or equal to `y` according to [`Z.lte`][].
@@ -123,7 +123,7 @@ less than or equal to `y` according to [`Z.lte`][].
[Identity (0), Identity (1)]
```
-#### `Identity#fantasy-land/concat :: Semigroup a => Identity a ~> Identity a -> Identity a`
+#### `Identity#fantasy-land/concat :: Semigroup a => Identity a ~> Identity a -> Identity a`
`concat (Identity (x)) (Identity (y))` is equivalent to
`Identity (concat (x) (y))`.
@@ -133,7 +133,7 @@ less than or equal to `y` according to [`Z.lte`][].
Identity ([1, 2, 3, 4, 5, 6])
```
-#### `Identity#fantasy-land/map :: Identity a ~> (a -> b) -> Identity b`
+#### `Identity#fantasy-land/map :: Identity a ~> (a -> b) -> Identity b`
`map (f) (Identity (x))` is equivalent to `Identity (f (x))`.
@@ -142,7 +142,7 @@ Identity ([1, 2, 3, 4, 5, 6])
Identity (8)
```
-#### `Identity#fantasy-land/ap :: Identity a ~> Identity (a -> b) -> Identity b`
+#### `Identity#fantasy-land/ap :: Identity a ~> Identity (a -> b) -> Identity b`
`ap (Identity (f)) (Identity (x))` is equivalent to `Identity (f (x))`.
@@ -151,7 +151,7 @@ Identity (8)
Identity (8)
```
-#### `Identity#fantasy-land/chain :: Identity a ~> (a -> Identity b) -> Identity b`
+#### `Identity#fantasy-land/chain :: Identity a ~> (a -> Identity b) -> Identity b`
`chain (f) (Identity (x))` is equivalent to `f (x)`.
@@ -160,7 +160,7 @@ Identity (8)
Identity (100)
```
-#### `Identity#fantasy-land/reduce :: Identity a ~> ((b, a) -> b, b) -> b`
+#### `Identity#fantasy-land/reduce :: Identity a ~> ((b, a) -> b, b) -> b`
`reduce (f) (x) (Identity (y))` is equivalent to `f (x) (y)`.
@@ -169,7 +169,7 @@ Identity (100)
[1, 2, 3, 4, 5, 6]
```
-#### `Identity#fantasy-land/traverse :: Applicative f => Identity a ~> (TypeRep f, a -> f b) -> f (Identity b)`
+#### `Identity#fantasy-land/traverse :: Applicative f => Identity a ~> (TypeRep f, a -> f b) -> f (Identity b)`
`traverse (_) (f) (Identity (x))` is equivalent to
`map (Identity) (f (x))`.
@@ -179,7 +179,7 @@ Identity (100)
[Identity (101), Identity (102), Identity (103)]
```
-#### `Identity#fantasy-land/extend :: Identity a ~> (Identity a -> b) -> Identity b`
+#### `Identity#fantasy-land/extend :: Identity a ~> (Identity a -> b) -> Identity b`
`extend (f) (Identity (x))` is equivalent to
`Identity (f (Identity (x)))`.
@@ -189,7 +189,7 @@ Identity (100)
Identity (100)
```
-#### `Identity#fantasy-land/extract :: Identity a ~> () -> a`
+#### `Identity#fantasy-land/extract :: Identity a ~> () -> a`
`extract (Identity (x))` is equivalent to `x`.
@@ -198,9 +198,9 @@ Identity (100)
42
```
-[Fantasy Land]: https://github.com/fantasyland/fantasy-land/tree/v3.5.0
-[`Z.equals`]: https://github.com/sanctuary-js/sanctuary-type-classes/tree/v10.0.0#equals
-[`Z.lte`]: https://github.com/sanctuary-js/sanctuary-type-classes/tree/v10.0.0#lte
+[Fantasy Land]: https://github.com/fantasyland/fantasy-land/tree/v4.0.1
+[`Z.equals`]: https://github.com/sanctuary-js/sanctuary-type-classes/tree/v11.0.0#equals
+[`Z.lte`]: https://github.com/sanctuary-js/sanctuary-type-classes/tree/v11.0.0#lte
[iff]: https://en.wikipedia.org/wiki/If_and_only_if
[type identifier]: https://github.com/sanctuary-js/sanctuary-type-identifiers/tree/v2.0.1
-[type representative]: https://github.com/fantasyland/fantasy-land/tree/v3.5.0#type-representatives
+[type representative]: https://github.com/fantasyland/fantasy-land/tree/v4.0.1#type-representatives
diff --git a/package.json b/package.json
index b237679..c4ae737 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "sanctuary-identity",
- "version": "1.1.0",
+ "version": "1.2.0",
"description": "Fantasy Land -compliant Identity type",
"license": "MIT",
"repository": {