anchor.diff:          ;; Default initform when type is missing:
           nil)))
   
  -(defvar *initform-inference* 'type-zero-initform-inference)
  -(defvar *type-inference* 'basic-type-inference)
  +(defvar *initform-inference* 'type-zero-initform-inference
  +  "Fallback initform inference function.
  +Set this to nil to disable inference.")
  +(defvar *type-inference* 'basic-type-inference
  +  "Fallback type inference function.
  +Set this to nil to disable inference.")
   
   (defun process-slot-initform (definition &key ; See `hu.dwim.defclass-star:process-slot-definition'.
                                              initform-inference
  
positive.code: Note that in a slot definition, '() is infered to be a list while NIL is infered
  to be a boolean.
  
  Non-basic form types are not infered (returns nil)."
    (multiple-value-bind (found? value)
        (initform definition)
      (when found?
  
negative.code:           (not (definition-type definition))
            type-inference)
       (append definition
               (let ((result-type (funcall type-inference definition)))
                 (when result-type
                   (list :type result-type)))))
      ((and (not (initform definition))
            initform-inference)
       (append definition
  