diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index e668706959..44da569bfa 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -1155,7 +1155,7 @@ (define-public ghc-tasty-silver
      "This package provides a fancy test runner and support for @dfn{golden
 testing}.  A golden test is an IO action that writes its result to a file.  To
 pass the test, this output file should be identical to the corresponding
-``golden'' file, which contains the correct result for the test.  The test
+@emph{golden} file, which contains the correct result for the test.  The test
 runner allows filtering tests using regexes, and to interactively inspect the
 result of golden tests.")
     (license license:expat)))
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 0a58ee4d24..aa4c4b15f0 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -5792,7 +5792,7 @@ (define-public ghc-hsyaml
 representation (including support for cyclic YAML data structures).
 
 @item Support for the standard (untyped) @emph{Failsafe}, (strict)
-@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
+@emph{JSON}, and (flexible) @emph{Core} @code{schemas} providing implicit
 typing rules as defined in the YAML 1.2 specification (including support
 for user-defined custom schemas).
 
@@ -10303,9 +10303,9 @@ (define-public ghc-regex-tdfa
     (home-page "https://wiki.haskell.org/Regular_expressions")
     (synopsis "POSIX extended regular expressions in Haskell")
     (description
-     "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
-extended regular expressions.  It is a \"tagged\" DFA regex engine. It is
-inspired by libtre.")
+     "Regex-tdfa is a pure Haskell regular expression library implementing
+POSIX extended regular expressions.  It is a @emph{tagged} DFA regex engine.
+It is inspired by libtre.")
     (license license:bsd-3)))
 
 (define-public ghc-repline
@@ -10506,7 +10506,7 @@ (define-public ghc-rio
      "This package works as a prelude replacement for Haskell,
 providing more functionality and types out of the box than the standard
 prelude (such as common data types like @code{ByteString} and
-@code{Text}), as well as removing common ``gotchas'', like partial
+@code{Text}), as well as removing common @emph{gotchas}, like partial
 functions and lazy I/O.  The guiding principle here is:
 @itemize
 @item If something is safe to use in general and has no expected naming
@@ -13695,7 +13695,7 @@ (define-public ghc-unsafe
     (home-page "https://hackage.haskell.org/package/unsafe")
     (synopsis "Unified interface to unsafe functions")
     (description "Safe Haskell introduced the notion of safe and unsafe
-modules.  In order to make as many as possible modules ``safe'', the
+modules.  In order to make as many as possible modules @emph{safe}, the
 well-known unsafe functions were moved to distinguished modules.  This
 makes it hard to write packages that work with both old and new versions
 of GHC.  This package provides a single module System.Unsafe that
@@ -15391,7 +15391,7 @@ (define-public ghc-mysql
 most of the MySQL client API.  The major departure from the C API is that in
 Haskell, resource management is mostly automatic and safe.
 
-This library deliberately avoids the question of providing a ``good'' API.
+This library deliberately avoids the question of providing a @emph{good} API.
 Its purpose is to serve as a base upon which higher-level libraries can be
 built.")
     (license license:bsd-3)))
@@ -16153,8 +16153,8 @@ (define-public ghc-witherable
     (home-page "https://github.com/fumieval/witherable")
     (synopsis "Filterable traversable")
     (description
-     "This package provides a stronger variant of `traverse` which can remove elements
-and generalised mapMaybe, catMaybes, filter")
+     "This package provides a stronger variant of @code{traverse} which can
+remove elements and generalised mapMaybe, catMaybes, filter")
     (license license:bsd-3)))
 
 (define-public ghc-hspec-discover
@@ -16263,22 +16263,29 @@ (define-public ghc-random-bytestring
     (home-page "https://www.github.com/larskuhtz/random-bytestring")
     (synopsis "Efficient generation of random bytestrings")
     (description
-     "__This package is deprecated__.  Please, use genByteString from the [random
-package (version >=1.2)](https://hackage.haskell.org/package/random) instead. .
-Efficient generation of random bytestrings.  The implementation populates
-uninitialized memory with uniformily distributed random 64 bit words (and 8 bit
-words for remaining bytes at the end of the bytestring). .  Random words are
-generated using the PRNG from the
-[mwc-random](https://hackage.haskell.org/package/mwc-random) package or the
-[pcg-random](https://hackage.haskell.org/package/pcg-random) package.  It is
-also possible to use a custom PRNG by providing an instance for the RandomWords
-type class and using the function generate from the module
-\"Data.ByteString.Random.Internal\". .  The generated byte strings are suitable
-for statistical applications.  They are /not/ suitable for cryptographic
-applications. .
-![benchmarks](https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/benchmarks.png)
-. ![detailed
-benchmarks](https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/benchmarks-details.png)")
+     "@emph{This package is deprecated}.  Please, use genByteString from the
+@url{https://hackage.haskell.org/package/random,random package (version
+>=1.2)]} instead.  Efficient generation of random bytestrings.  The
+implementation populates uninitialized memory with uniformily distributed
+random 64 bit words (and 8 bit words for remaining bytes at the end of the
+bytestring).  Random words are generated using the PRNG from the
+@url{https://hackage.haskell.org/package/mwc-random, mwc-random} package or
+the @url{https://hackage.haskell.org/package/pcg-random, pcg-random} package.
+It is also possible to use a custom PRNG by providing an instance for the
+RandomWords type class and using the function generate from the module
+@code{Data.ByteString.Random.Internal}.  The generated byte strings are
+suitable for statistical applications.  They are @emph{not} suitable for
+cryptographic applications.
+@itemize
+
+@item
+@url{https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/benchmarks.png,
+benchmarks}
+
+@item
+@url{https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/benchmarks-details.png,
+detailed benchmarks}
+@end itemize")
     (license license:expat)))
 
 (define-public ghc-base64
@@ -16868,9 +16875,10 @@ (define-public ghc-boring
     (home-page "https://github.com/phadej/boring")
     (synopsis "Boring and Absurd types")
     (description
-     "* @@Boring@@ types are isomorphic to @@()@@. . * @@Absurd@@ types are isomorphic
-to @@Void@@. .  See [What does () mean in Haskell -answer by Conor
-McBride](https://stackoverflow.com/questions/33112439/what-does-mean-in-haskell/33115522#33115522)")
+     "@itemize
+@item @code{Boring} types are isomorphic to @code{()}.
+@item @code{Absurd} types are isomorphic to @code{Void}.
+@end itemize")
     (license license:bsd-3)))
 
 (define-public ghc-some
