anchor.diff:  (defmethod next ((pfindur pfindur-pstream)) ;; FIX: make this affect the dur AND delta properly.
     (with-slots (pattern dur tolerance current-elapsed) pfindur
       (alexandria:when-let ((n-event (next pattern)))
  -      (when (or (eq :inf dur)
  +      (when (or (eql :inf dur)
                   (< (if (= 0 tolerance)
                          current-elapsed
                          (round-up current-elapsed tolerance))
                      dur))
           (let ((new-elapsed (+ (event-value n-event :delta) current-elapsed)))
             (prog1
  -              (if (and (not (eq :inf dur))
  +              (if (and (not (eql :inf dur))
                          (> (if (= 0 tolerance)
                                 new-elapsed
                                 (round-up new-elapsed tolerance))
  
positive.code: 
  (define-pbind-special-wrap-key ptrace
    (if value
        (if (eq t value)
            (ptrace pattern)
            (ptrace pattern value))
        pattern))
  
  (define-pbind-special-wrap-key pmeta
    (if (eq t value)
        (pmeta pattern)
        pattern))
  
  
negative.code:                  (let* ((cweights (cumulative-list (normalized-sum weights)))
                          (num (random 1.0))
                          (res (nth (index-of-greater-than num cweights) list)))
                     (unless (null (slot-value pattern 'history))
                       (loop :while (eql res (pstream-nth -1 pattern))
                          :do (setf res (get-next))))
                     res)))
  