diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,7 @@
 
+1.2.1 -> 1.2.2
+- Added NuMatching and Liftable instances for the unit type
+
 1.2 -> 1.2.1
 - Renamed Data.Type.HList to Data.Type.RList
 - Now using DataKinds to represent right-lists of types
diff --git a/Data/Binding/Hobbits/Examples/LambdaLifting.hs b/Data/Binding/Hobbits/Examples/LambdaLifting.hs
--- a/Data/Binding/Hobbits/Examples/LambdaLifting.hs
+++ b/Data/Binding/Hobbits/Examples/LambdaLifting.hs
@@ -108,12 +108,12 @@
   FVUnionRet fvs f1 f2 -> case elemMC fv2 fvs of
     Nothing -> FVUnionRet (fvs :>: fv2)
                (\(xs :>: _) -> f1 xs) (\(xs :>: x) -> f2 xs :>: x)
-    Just idx -> FVUnionRet fvs f1 (\xs -> f2 xs :>: C.hlistLookup idx xs)
+    Just idx -> FVUnionRet fvs f1 (\xs -> f2 xs :>: C.mapRListLookup idx xs)
 fvUnion (fvs1 :>: fv1) fvs2 = case fvUnion fvs1 fvs2 of
   FVUnionRet fvs f1 f2 -> case elemMC fv1 fvs of
     Nothing -> FVUnionRet (fvs :>: fv1)
                (\(xs :>: x) -> f1 xs :>: x) (\(xs :>: _) -> f2 xs)
-    Just idx -> FVUnionRet fvs (\xs -> f1 xs :>: C.hlistLookup idx xs) f2
+    Just idx -> FVUnionRet fvs (\xs -> f1 xs :>: C.mapRListLookup idx xs) f2
 
 elemMC :: MbLName c a -> FVList c fvs -> Maybe (Member fvs a)
 elemMC _ MNil = Nothing
@@ -133,7 +133,7 @@
 
 skelSubst :: STerm c a -> MapRList Name c -> DTerm a
 skelSubst (SWeaken f db) names = skelSubst db $ f names
-skelSubst (SVar inC) names = TVar $ C.hlistLookup inC names
+skelSubst (SVar inC) names = TVar $ C.mapRListLookup inC names
 skelSubst (SDVar dTVar) _ = TDVar dTVar
 skelSubst (SApp db1 db2) names = TApp (skelSubst db1 names) (skelSubst db2 names)
 
@@ -175,7 +175,7 @@
   SepRet m f -> case raiseAppName (C.mkMonoAppend c lc) n of
     Left idx ->
       SepRet m (\xs ->
-                 f xs :>: C.hlistLookup (C.weakenMemberL (proxyOfMapRList m) idx) xs)
+                 f xs :>: C.mapRListLookup (C.weakenMemberL (proxyOfMapRList m) idx) xs)
     Right n ->
       SepRet (m :>: MbLName n)
       (\xs -> case C.splitMapRList c' lc xs of
diff --git a/Data/Binding/Hobbits/Examples/LambdaLifting/Terms.hs b/Data/Binding/Hobbits/Examples/LambdaLifting/Terms.hs
--- a/Data/Binding/Hobbits/Examples/LambdaLifting/Terms.hs
+++ b/Data/Binding/Hobbits/Examples/LambdaLifting/Terms.hs
@@ -55,7 +55,7 @@
   where pretty' :: Mb c (Term a) -> MapRList StringF c -> Int -> String
         pretty' [nuP| Var b |] varnames n =
             case mbNameBoundP b of
-              Left pf  -> unStringF (C.hlistLookup pf varnames)
+              Left pf  -> unStringF (C.mapRListLookup pf varnames)
               Right n -> "(free-var " ++ show n ++ ")"
         pretty' [nuP| Lam b |] varnames n =
             let x = "x" ++ show n in
@@ -107,7 +107,7 @@
     "(" ++ mpretty b1 varnames
         ++ " " ++ mpretty b2 varnames ++ ")"
 
-mprettyName (Left pf) varnames = unStringF (C.hlistLookup pf varnames)
+mprettyName (Left pf) varnames = unStringF (C.mapRListLookup pf varnames)
 mprettyName (Right n) varnames = "(free-var " ++ (show n) ++ ")"
         
 
diff --git a/Data/Binding/Hobbits/Liftable.hs b/Data/Binding/Hobbits/Liftable.hs
--- a/Data/Binding/Hobbits/Liftable.hs
+++ b/Data/Binding/Hobbits/Liftable.hs
@@ -75,6 +75,9 @@
     mbLift [nuP| [] |] = []
     mbLift [nuP| x : xs |] = (mbLift x) : (mbLift xs)
 
+instance Liftable () where
+    mbLift [nuP| () |] = ()
+
 instance (Liftable a, Liftable b) => Liftable (a,b) where
     mbLift [nuP| (x,y) |] = (mbLift x, mbLift y)
 
diff --git a/Data/Binding/Hobbits/NuMatching.hs b/Data/Binding/Hobbits/NuMatching.hs
--- a/Data/Binding/Hobbits/NuMatching.hs
+++ b/Data/Binding/Hobbits/NuMatching.hs
@@ -75,6 +75,9 @@
 instance NuMatching Char where
     nuMatchingProof = MbTypeReprData (MkMbTypeReprData $ (\c1 c2 -> id))
 
+instance NuMatching () where
+    nuMatchingProof = MbTypeReprData (MkMbTypeReprData $ (\c1 c2 -> id))
+
 instance (NuMatching a, NuMatching b) => NuMatching (a,b) where
     nuMatchingProof = MbTypeReprData (MkMbTypeReprData $ (\c1 c2 (a,b) -> (mapNames c1 c2 a, mapNames c1 c2 b)))
 
diff --git a/Data/Type/RList.hs b/Data/Type/RList.hs
--- a/Data/Type/RList.hs
+++ b/Data/Type/RList.hs
@@ -127,10 +127,10 @@
 singleton x = MNil :>: x
 
 -- | Look up an element of a 'MapRList' vector using a 'Member' proof.
-hlistLookup :: Member c a -> MapRList f c -> f a
-hlistLookup Member_Base (_ :>: x) = x
-hlistLookup (Member_Step mem') (mc :>: _) = hlistLookup mem' mc
---hlistLookup _ _ = error "Should not happen! (hlistLookup)"
+mapRListLookup :: Member c a -> MapRList f c -> f a
+mapRListLookup Member_Base (_ :>: x) = x
+mapRListLookup (Member_Step mem') (mc :>: _) = mapRListLookup mem' mc
+--mapRListLookup _ _ = error "Should not happen! (mapRListLookup)"
 
 -- | Map a function on all elements of a 'MapRList' vector.
 mapMapRList :: (forall x. f x -> g x) -> MapRList f c -> MapRList g c
diff --git a/hobbits.cabal b/hobbits.cabal
--- a/hobbits.cabal
+++ b/hobbits.cabal
@@ -1,5 +1,5 @@
 Name:                hobbits
-Version:             1.2.1
+Version:             1.2.2
 Synopsis:            A library for canonically representing terms with binding
 
 Description: A library for canonically representing terms with binding via a
