diff --git a/alexandria-1/macros.lisp b/alexandria-1/macros.lisp
index 2fb0e58b1ddf614039f929f9f0196f1e5d0f295b..70e84ab812b681ac420c77ca0a2bf8727011dbb9 100644
--- a/alexandria-1/macros.lisp
+++ b/alexandria-1/macros.lisp
@@ -125,8 +125,18 @@ Example:
 (defun parse-body (body &key documentation whole (if-duplicate-doc-string :error))
   "Parses BODY into (values remaining-forms declarations doc-string).
 Documentation strings are recognized only if DOCUMENTATION is true.
-Syntax errors in body are signalled and WHOLE is used in the signal
-arguments when given."
+
+Syntax errors in body (duplicate doc strings, see ANSI 3.4.11) are
+signalled by default and WHOLE is used in the signal arguments when
+given.
+
+This behavior can be configured by passing IF-DUPLICATE-DOC-STRING argument.
+Defined keywords:
+  :ERROR - signals an error
+  :CERROR - signals a continuable error, defines restarts RETURN, IGNORE, or OVERWRITE
+  :RETURN - treats the string as the form and returns early
+  :IGNORE - ignores the string and continues parsing
+  :OVERWRITE - sets the documentation string and continues parsing"
   (let ((doc nil)
         (decls nil)
         (current nil))