@@ -257,10 +257,10 @@ normalizeSpaces = cleanup . dropWhile isSpaceOrEmpty
257257-- | Normalize @Pandoc@ document, consolidating doubled 'Space's,
258258-- combining adjacent 'Str's and 'Emph's, remove 'Null's and
259259-- empty elements, etc.
260−normalize :: Data a => a -> a
261−normalize = topDown consolidateInlines .
262− bottomUp removeEmptyInlines .
263− topDown removeEmptyBlocks
260+normalize :: (Eq a, Data a) => a -> a
261+normalize = topDown removeEmptyBlocks .
262+ topDown consolidateInlines .
263+ bottomUp removeEmptyInlines
264264
265265removeEmptyBlocks :: [Block] -> [Block]
266266removeEmptyBlocks (Null : xs) = removeEmptyBlocks xs
@@ -280,6 +280,7 @@ removeEmptyInlines (SmallCaps [] : zs) = removeEmptyInlines zs
280280removeEmptyInlines (Strikeout [] : zs) = removeEmptyInlines zs
281281removeEmptyInlines (RawInline _ [] : zs) = removeEmptyInlines zs
282282removeEmptyInlines (Code _ [] : zs) = removeEmptyInlines zs
283+removeEmptyInlines (Str "" : zs) = removeEmptyInlines zs
283284removeEmptyInlines (x : xs) = x : removeEmptyInlines xs
284285removeEmptyInlines [] = []
285286