anchor.diff:                     (multiple-value-bind (forms decls)
                          (parse-forms-declare forms nil)
                        (multiple-value-bind (type-map vdecl)
  -                         ;; FIXME also return VDECL here,
  -                         ;; a VALUES declaration as per the CMUCL compiler
  -                         ;; i.e Python
  -                         (parse-decl-types decls #+NIL lvars env)
  +                         (parse-decl-types decls env)
                          (multiple-value-bind (ftype)
                              (parse-ftype name lvars type-map vdecl)
                            (values ftype docs decls forms))))))
  
positive.code:                    (t
                      (values forms decls)))))
               (parse-lambda-vars (llist)
                 ;; NB: Return value for PARSE-DECL-TYPES LVARS (unused param)
                 ;;     and PARSE-FTYPE LVARS
                 (let (vars context)
                   (dolist (expr llist vars)
                     (cond
  
negative.code: (defun* frob+ (m n o)
    "Trivially Typed +"
    (declare (fixnum m) (type integer n o)
             (values integer &optional))
    (declare (dynamic-extent m n o))
    (+ m n o))
  ))
  
  (frob+ 1 2 3)
  
  (defun* frob* (m n &optional (o 1))
    "Trivially Typed +"
    (declare (fixnum m) (type integer o)
             (values integer &optional))
    (declare (dynamic-extent m n o))
    (* m n o))
  
  (frob* 1 1)
  
  (frob* 1 1 2)
  
  )
  
  