anchor.diff:                   :key key
                    :default default))
   
  -(defmethod next ((pattern pk))
  +(defmethod next ((pattern pk-pstream))
     (or (get-event-value *event* (slot-value pattern 'key))
         (slot-value pattern 'default)))
   
  -;; (defclass pk-pstream (pk pstream)
  -;;   ())
  -
   ;;; prand
  -
  -;; (defclass prand (pattern)
  -;;   ((list :initarg :list :accessor :list))
  -;;   (:documentation "A prand returns a random value from LIST."))
   
   (defpattern prand (pattern)
     ((list :initarg :list :accessor :list))
  
positive.code: 
  ;;; pdef
  
  ;; (defclass pdef (pattern)
  ;;   ((key :initarg :key :accessor :key)
  ;;    (pattern :initarg :pattern :accessor :pattern))
  ;;   (:documentation "A named pattern."))
  
  (defpattern pdef (pattern)
    ((key :initarg :key :accessor :key)
     (pattern :initarg :pattern :accessor :pattern))
    "A named pattern.")
  
  ;; (defparameter *pdef-dictionary* '()
  ;;   "The global pdef dictionary.")
  
  ;; (defun pdef-ref (key &optional value)
  ;;   "Retrieve a value from the global pdef dictionary, or set it if VALUE is provided."
  
negative.code:                  :pattern pattern
                   :repeats repeats))
  
  (defmethod next ((pattern pr-pstream))
    (if (or (null (slot-value pattern 'cv))
            (<= (slot-value pattern 'crr) 0))
        (progn
  