declaration - a declare expression; not evaluated.
documentation - a string; not evaluated.
form - a form.
Documentation is attached to the denoted function (if any is actually created) as a documentation string.
((lambda lambda-list . body) . arguments)
is semantically equivalent to the function form
(funcall #'(lambda lambda-list . body) . arguments)