diff --git a/Text/Pandoc/Builder.hs b/Text/Pandoc/Builder.hs
--- a/Text/Pandoc/Builder.hs
+++ b/Text/Pandoc/Builder.hs
@@ -277,7 +277,7 @@
 instance ToMetaValue Bool where
   toMetaValue = MetaBool
 
-instance ToMetaValue String where
+instance {-# OVERLAPPING #-} ToMetaValue String where
   toMetaValue = MetaString
 
 instance ToMetaValue a => ToMetaValue [a] where
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+[1.17.5.1]
+
+  * Declare the ToMetaValue instance for String as OVERLAPPING (#46).
+
 [1.17.5]
 
 
diff --git a/pandoc-types.cabal b/pandoc-types.cabal
--- a/pandoc-types.cabal
+++ b/pandoc-types.cabal
@@ -1,5 +1,5 @@
 Name:                pandoc-types
-Version:             1.17.5
+Version:             1.17.5.1
 Synopsis:            Types for representing a structured document
 Description:         @Text.Pandoc.Definition@ defines the 'Pandoc' data
                      structure, which is used by pandoc to represent
diff --git a/test/test-pandoc-types.hs b/test/test-pandoc-types.hs
--- a/test/test-pandoc-types.hs
+++ b/test/test-pandoc-types.hs
@@ -3,7 +3,7 @@
 import Text.Pandoc.Arbitrary ()
 import Text.Pandoc.Definition
 import Text.Pandoc.Walk
-import Text.Pandoc.Builder (simpleTable, singleton)
+import Text.Pandoc.Builder (singleton, plain, text, simpleTable)
 import Data.Generics
 import Data.List (tails)
 import Test.HUnit (Assertion, assertEqual, assertFailure)
@@ -363,21 +363,24 @@
 t_null :: (Block, ByteString)
 t_null = (Null, [s|{"t":"Null"}|])
 
--- headers and rows are truncated or padded to a consistent number of
+-- headers and rows are padded to a consistent number of
 -- cells in order to avoid syntax errors after conversion, see
--- jgm/pandoc#4059. this test uses `simpleTable` therefore it cannot
--- test truncation
+-- jgm/pandoc#4059.
 t_tableSan :: Test
 t_tableSan = testCase "table sanitisation" $ assertion
              where assertion = assertEqual err expected generated
                    err = "sanitisation error"
-                   headers = [singleton Null, singleton Null]
-                   generated = simpleTable headers [[mempty], []]
+                   generated = simpleTable
+                                  [plain (text "foo"), plain (text "bar")]
+                                  [[mempty]
+                                  ,[]]
                    expected = singleton (Table
                                          []
                                          [AlignDefault, AlignDefault]
                                          [0.0, 0.0]
-                                         [[Null], [Null]] [[[], []], [[], []]])
+                                         [[Plain [Str "foo"]],
+                                          [Plain [Str "bar"]]]
+                                         [[[], []], [[], []]])
 
 
 tests :: [Test]
