(setf fdefinition) must disallow macro-function as new-val
CLHS says, in the last sentence under FDEFINITION:
"It is an error to set the fdefinition of a function-name to a symbol, a list, or the value returned by fdefinition on the name of a macro or special form."
e.g. (setf (fdefinition 'bork) (fdefinition 'and)) should fail
as should (setf (fdefinition 'bork) (fdefinition 'if))