diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -140,7 +140,7 @@
   [this post](https://www.cs.kent.ac.uk/people/staff/smk/redblack/rb.html).
 
 * Besides depending on sop-core, I have copied and adapted code from it. In
-  particular the `KeysValuessAll` typeclass is a version of the `All` typeclass
+  particular the `KeysValuesAll` typeclass is a version of the `All` typeclass
   from sop-core. 
 
 * [Surgery for data
@@ -191,4 +191,7 @@
   representation.
 
 * [Coxswain](https://ghc.haskell.org/trac/ghc/wiki/Plugins/TypeChecker/RowTypes/Coxswain).
+
+* [higgledy](http://hackage.haskell.org/package/higgledy). Provides you with HKD
+  versions of normal records.
 
diff --git a/lib/Data/RBR/Examples.hs b/lib/Data/RBR/Examples.hs
--- a/lib/Data/RBR/Examples.hs
+++ b/lib/Data/RBR/Examples.hs
@@ -340,6 +340,7 @@
 {- $externalexamples
  
     * [Is there a canonical way of comparing/changing one/two records in haskell? (SO)](https://stackoverflow.com/a/57574731/1364288)
+    * [Given a record of functions, and a record of data of the types acted on by the functions, how to generically apply the function record? (SO)](https://stackoverflow.com/a/58890226/1364288) 
     * [Help with Generics. (Reddit)](https://www.reddit.com/r/haskell/comments/cteemj/help_with_generics/expyjfk)
     * [Adventures assembling records of capabilities. (Discourse)](https://discourse.haskell.org/t/adventures-assembling-records-of-capabilities/623)
     * [Resources on sop-core and generics-sop. (GitHub)](https://github.com/well-typed/generics-sop/issues/47)
diff --git a/lib/Data/RBR/Internal.hs b/lib/Data/RBR/Internal.hs
--- a/lib/Data/RBR/Internal.hs
+++ b/lib/Data/RBR/Internal.hs
@@ -63,8 +63,8 @@
     deriving (Show,Eq)
 
 -- | A Red-Black tree. It will be used as a kind, to index the 'Record' and 'Variant' types.
-data Map k v = E 
-             | N Color (Map k v) k v (Map k v)
+data Map symbol q = E 
+             | N Color (Map symbol q) symbol q (Map symbol q)
     deriving (Show,Eq)
 
 -- | A map without entries. See also 'unit' and 'impossible'.
@@ -80,13 +80,13 @@
 --
 -- UndecidableSuperClasses and RankNTypes seem to be required by KeysValuesAllF.
 type family
-  KeysValuesAllF (c :: k -> v -> Constraint) (t :: Map k v) :: Constraint where
+  KeysValuesAllF (c :: symbol -> q -> Constraint) (t :: Map symbol q) :: Constraint where
   KeysValuesAllF  _ E                        = ()
   KeysValuesAllF  c (N color left k v right) = (c k v, KeysValuesAll c left, KeysValuesAll c right)
 
 {- | Require a constraint for every key-value pair in a tree. This is a generalization of 'Data.SOP.All' from "Data.SOP".
 -}
-class KeysValuesAllF c t => KeysValuesAll (c :: k -> v -> Constraint) (t :: Map k v) where
+class KeysValuesAllF c t => KeysValuesAll (c :: symbol -> q -> Constraint) (t :: Map symbol q) where
 
   --  'cpara_Map' constructs a 'Record' by means of a constraint for producing
   --  the nodes of the tree. The constraint is passed as a 'Data.Proxy.Proxy'.
@@ -142,7 +142,7 @@
 
   Defined using the "class synonym" <https://www.reddit.com/r/haskell/comments/ab8ypl/monthly_hask_anything_january_2019/edk1ot3/ trick>.
 -}
-class KnownSymbol k => KnownKey (k :: Symbol) (v :: z)
+class KnownSymbol k => KnownKey (k :: Symbol) (v :: q)
 instance KnownSymbol k => KnownKey k v 
 
 {- | 
@@ -168,7 +168,7 @@
 
   Defined using the "class synonym" <https://www.reddit.com/r/haskell/comments/ab8ypl/monthly_hask_anything_january_2019/edk1ot3/ trick>.
 -}
-class (KnownSymbol k, Typeable v) => KnownKeyTypeableValue (k :: Symbol) v
+class (KnownSymbol k, Typeable v) => KnownKeyTypeableValue (k :: Symbol) (v :: q)
 instance (KnownSymbol k, Typeable v) => KnownKeyTypeableValue k v 
 
 -- class KeyValueTop (k :: Symbol) (v :: z)
diff --git a/red-black-record.cabal b/red-black-record.cabal
--- a/red-black-record.cabal
+++ b/red-black-record.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.0
 name:                red-black-record
-version:             2.1.0.2
+version:             2.1.0.3
 synopsis:            Extensible records and variants indexed by a type-level Red-Black tree.
 
 description:         A library that provides extensible records and variants,
