anchor.diff:  (defpattern pindex (pattern)
     (list-pat
      index-pat
  -   (repeats :default 1)
  +   (repeats :default 1) ;; FIX: remove this?
      (wrap-p :default nil)
      (list-pat-ps :state t)
      (index-pat-ps :state t)
  
positive.code: 
  (defpattern pser (pattern)
    (list
     (length :default 1)
     (current-repeats-remaining :state t)
     (current-index :state t))
    "pser yields values from LIST in the same order they were provided, returning a total of LENGTH values.
  
negative.code: 
  (defpattern pseq (pattern)
    (list
     (repeats :default :inf)
     (current-repeats-remaining :state t))
    "pseq yields values from LIST in the same order they were provided, repeating the whole list REPEATS times.
  
  