diff --git a/opentheory-char.cabal b/opentheory-char.cabal
--- a/opentheory-char.cabal
+++ b/opentheory-char.cabal
@@ -1,16 +1,16 @@
 name: opentheory-char
-version: 1.30
+version: 1.39
 category: Text
 synopsis: Unicode characters
 license: MIT
 license-file: LICENSE
 cabal-version: >= 1.8.0.6
 build-type: Simple
-author: Joe Hurd <joe@gilith.com>
-maintainer: Joe Hurd <joe@gilith.com>
+author: Joe Leslie-Hurd <joe@gilith.com>
+maintainer: Joe Leslie-Hurd <joe@gilith.com>
 description:
-  Unicode characters
-  Automatically generated from the opentheory package haskell-char-1.30
+  Unicode characters - automatically generated from the opentheory package
+  haskell-char-1.39
 
 library
   build-depends:
@@ -18,8 +18,8 @@
     random >= 1.0.1.1 && < 2.0,
     QuickCheck >= 2.4.0.1 && < 3.0,
     opentheory-primitive >= 1.0 && < 2.0,
-    opentheory >= 1.52 && <= 1.61,
-    opentheory-parser >= 1.93 && <= 1.105
+    opentheory >= 1.73 && <= 1.74,
+    opentheory-parser >= 1.94 && <= 1.115
 
   hs-source-dirs: src
 
@@ -35,8 +35,8 @@
     random >= 1.0.1.1 && < 2.0,
     QuickCheck >= 2.4.0.1 && < 3.0,
     opentheory-primitive >= 1.0 && < 2.0,
-    opentheory >= 1.52 && <= 1.61,
-    opentheory-parser >= 1.93 && <= 1.105
+    opentheory >= 1.73 && <= 1.74,
+    opentheory-parser >= 1.94 && <= 1.115
 
   hs-source-dirs: src, testsrc
 
diff --git a/src/OpenTheory/Data/Unicode.hs b/src/OpenTheory/Data/Unicode.hs
--- a/src/OpenTheory/Data/Unicode.hs
+++ b/src/OpenTheory/Data/Unicode.hs
@@ -3,7 +3,7 @@
 description: Unicode characters
 license: MIT
 
-maintainer: Joe Hurd <joe@gilith.com>
+maintainer: Joe Leslie-Hurd <joe@gilith.com>
 stability: provisional
 portability: portable
 -}
diff --git a/src/OpenTheory/Data/Unicode/UTF8.hs b/src/OpenTheory/Data/Unicode/UTF8.hs
--- a/src/OpenTheory/Data/Unicode/UTF8.hs
+++ b/src/OpenTheory/Data/Unicode/UTF8.hs
@@ -3,7 +3,7 @@
 description: Unicode characters
 license: MIT
 
-maintainer: Joe Hurd <joe@gilith.com>
+maintainer: Joe Leslie-Hurd <joe@gilith.com>
 stability: provisional
 portability: portable
 -}
diff --git a/testsrc/Test.hs b/testsrc/Test.hs
--- a/testsrc/Test.hs
+++ b/testsrc/Test.hs
@@ -3,7 +3,7 @@
 description: Unicode characters - testing
 license: MIT
 
-maintainer: Joe Hurd <joe@gilith.com>
+maintainer: Joe Leslie-Hurd <joe@gilith.com>
 stability: provisional
 portability: portable
 -}
@@ -23,7 +23,7 @@
 proposition0 :: Primitive.Random.Random -> Bool
 proposition0 r =
   let (cs, _) = Data.List.Geometric.fromRandom Data.Unicode.fromRandom r in
-  Data.List.size cs <= Data.List.size (Data.Unicode.UTF8.encode cs)
+  Data.List.length' cs <= Data.List.length' (Data.Unicode.UTF8.encode cs)
 
 proposition1 :: Primitive.Random.Random -> Bool
 proposition1 r =
@@ -48,7 +48,7 @@
 
 main :: IO ()
 main =
-    do Primitive.Test.check "Proposition 0:\n  !r.\n    let (cs, r') <- H.Geometric.fromRandom H.fromRandom r in\n    H.size cs <= H.size (H.UTF8.encode cs)\n  " proposition0
+    do Primitive.Test.check "Proposition 0:\n  !r.\n    let (cs, r') <- H.Geometric.fromRandom H.fromRandom r in\n    H.length' cs <= H.length' (H.UTF8.encode cs)\n  " proposition0
        Primitive.Test.check "Proposition 1:\n  !r.\n    let (cs, r') <- H.Geometric.fromRandom H.fromRandom r in\n    H.equal (H.equal H.equal) (H.UTF8.decode (H.UTF8.encode cs)) (some cs)\n  " proposition1
        Primitive.Test.check "Proposition 2:\n  !r.\n    let (bs, r') <- H.Geometric.fromRandom H.fromRandom r in\n    case H.UTF8.decode bs of\n      none -> T\n    | some cs -> H.equal (=) (H.UTF8.encode cs) bs\n  " proposition2
        Primitive.Test.check "Proposition 3:\n  !r.\n    let (c, r') <- H.fromRandom r in\n    let (pl, pos) <- H.unUnicode c in\n    let pli <- H.unPlane pl in\n    let posi <- H.unPosition pos in\n    ~(pli = 0) \\/ posi < 55296 \\/ 57343 < posi /\\ posi < 65534\n  " proposition3
