(hook-documentation hook-id documentation-string).
The information in the documentation string plays an important role in the tools, which support the hook mechanism. This will be discussed in section 6.
When a Lisp program is written or loaded, it is important that the Lisp programming environment gets a chance to be aware of the hooks of the program. The right way to achieve that is to modify the Lisp reader to do something special when a hook construct is encountered in a Lisp expression. Alternatively, the environment may get its knowledge of hooks through the hook documentation clauses. Following the latter approach, it is necessary to require that all hook documentation clauses are placed at the outer expression level of a Lisp program.