anchor.diff:  (defun sentence ()
     (=let* ((adverb1 (maybe (=prog1 (adverb) (ws)) 'error))
             (verb (verb))
  -          (verb-args (maybe (=and (ws) (verb-args verb))))
  +          (verb-args (verb-args verb))
             (adverb2 (maybe (=and (ws) (adverb)) 'error)))
       (result `(:sentence
                 ,@verb-args
  
positive.code:        (=string "with")))
  
  (defun verb-args (verb)
    (=or (if (getf verb :transitivep)
             (=let* ((direct-objects (noun-clause))
                     (preposition (maybe (=prog2 (ws) (preposition) (ws))))
                     (indirect-objects (if preposition
                                           (noun-clause)
  
negative.code:            (fail))
         (if (getf verb :ditransitivep)
             (=or
              (=let* ((_ (ws))
                      (direct-objects (noun-clause))
                      (preposition (=prog2 (ws) (preposition) (ws)))
                      (indirect-objects (noun-clause)))
                (result `((:direct-objects . ,direct-objects)
                          (:indirect-objects . ,indirect-objects)
                          (:preposition . ,preposition))))
              (=let* ((_ (ws))
                      (indirect-objects (noun-clause))
                      (_ (ws))
                      (direct-objects (noun-clause)))
                (result `((:direct-objects . ,direct-objects)
                          (:indirect-objects . ,indirect-objects)))))
             (fail))
         (if (getf verb :intransitivep)
             (=let* ((preposition (maybe (=prog2 (ws) (preposition) (ws))))
                     (indirect-objects (if preposition
                                           (noun-clause)
                                           (result nil))))
  