anchor.diff:      (do-matches-as-strings (match "{([^\{]+):([^\}]+)}*" schema) 
         (multiple-value-bind (n/a found)
   	  (scan-to-strings "{(.+):(.+)}" match)
  +	(declare (ignore n/a))
   	(setf (gethash (aref found 0) map) (aref found 1))))
       map))
   
  
positive.code: 		 (setf (gethash key map) (subseq uri start end))
  		 (setf uri (subseq uri end))))
  	     (multiple-value-bind (start end) (scan token uri)  ;;else
  	       (setf uri (subseq uri end)))))
      map))
    
  
negative.code: 
    (let ((letlist (loop for var in varlist collect `(,var (gethash (symbol-name (quote ,var)) map)))))
      `(setf (gethash ,pattern *rest-dispatcher-table*)
  	   (create-rest-dispatcher ,pattern ,method 
  				   (lambda (map)
  				     (let ,letlist
  				       ,@body))))))
  