Fixing this bug will not cope well with DEFSTRUCT.
(defstruct foo (x (sb-int:missing-arg) :type fixnum))
will emit a warning because MAKE-FOO will be defined as follows
(DEFUN MAKE-FOO (&KEY ((:X #:DUM971) (SB-INT:MISSING-ARG)))
(DECLARE (TYPE FIXNUM #:DUM971))
#<SB-KERNEL:DEFSTRUCT-DESCRIPTION FOOBAR> '((:SLOT T . 1)) #:DUM971))
That kind of initialization-value checking is a useful violation of what CLHS specifies
about DEFSTRUCT. I recall some comment or something which mentions this
issue explicitly, perhaps by WHN, but I can't find it right now.