anchor.diff:            ;; we can just return 0 from here and Qt will call the next method
             ;; (stop-overriding) can just throw 0 here
             (catch 'stop-overriding-tag
  -            (let* ((args
  -                     (loop for type in (list-qmethod-argument-types <method>)
  -                           for i from 1
  -                           for item = (cffi:mem-aref stack
  -                                                     '|union StackItem|
  -                                                     i)
  -                           collect (unmarshal type item)))
  +            (let* ((args (unmarshal-args stack <method>))
                      (result (override (spec-function override)
                                        object (name override) args))
                      (rtype (qmethod-return-type <method>)))
  
positive.code:       (when object
          (note-deleted object)))))
  
  (defun %method-invocation-callback (smoke method-idx obj stack)
    (with-callback-restart
      (let* ((<module> (module-number smoke))
  
negative.code:            (<method> (bash method-idx <module> +method+))
             (fun (and object (find-method-override object <method>))))
        (if fun
            (let* ((args (unmarshal-args stack <method>))
                   (result (override fun object <method> args))
                   (rtype (qmethod-return-type <method>)))
              (unless (qtype-void-p rtype)
  