anchor.diff:  (ql:quickload '(alexandria iterate anaphora) :silent t)
   
   (defpackage wernicke 
  -	(:use cl alexandria iterate anaphora)
  -	(:export "DEFPARSER" "PARSE" "CHR" "STR" "ONE-OF" "NONE-OF" 
  -		"ANY" "MANY" "SEQ" "CHOICE" "RANGE" "TRY" "OPTIONAL" "TIMES"
  -		"*RUN-HOOKS*"))
  +   (:use cl alexandria iterate anaphora)
  +   (:export "DEFPARSER" "PARSE" "CHR" "STR" "ONE-OF" "NONE-OF" 
  +      "ANY" "MANY" "SEQ" "CHOICE" "RANGE" "TRY" "OPTIONAL" "TIMES"
  +      "*RUN-HOOKS*"))
   
   (in-package wernicke)
   
  
positive.code:        (run-parser parser)))
  
  (define-parser range (a b)
  	(if (test-remaining 1)
  		 (iter (for c from (char-code a) to (char-code b))
  				 (with char = (char *source* *index*))
  			    (if (eql char (code-char c)) 
  					  (leave (succeed char 1)))
  				 (finally (return (fail (list a b)))))
  		 (fail (list a b))))
  
negative.code:    (iter (for parser in parsers)
           (for parser-result = (run-parser parser))
           (on-failure parser-result (leave parser-result))
           (collect parser-result)))
  
  (define-parser times (n parser)
     (iter (repeat n)
  