anchor.diff:    `(setf ,place (append ,place ,tail)))
   
   
  -;;; Functional programming, please
  -
  -(defun curry (function &rest args)
  -  "Returns a function that applies FUNCTION to ARGS, plus any
  -   additional arguments given at the call site."
  -  (if (and args (null (cdr args)))                      ;fast test for length = 1
  -    (let ((arg (car args)))
  -      #'(lambda (&rest more-args)
  -          (apply function arg more-args)))
  -    #'(lambda (&rest more-args)
  -        (apply function (append args more-args)))))
  -
  -(define-compiler-macro curry (&whole form function &rest args &environment env)
  -  (declare (ignore env))
  -  (if (and (listp function)
  -           (eq (first function) 'function)
  -           (symbolp (second function))
  -           (and args (null (cdr args))))
  -    `#'(lambda (&rest more-args)
  -         (apply ,function ,(car args) more-args))
  -    form))
  -
  -
   ;;; Types
   
   ;; A parameterized list type for repeated fields
  
positive.code: 
  (eval-when (:compile-toplevel :load-toplevel :execute)
  
  (defparameter $optimize-default     '(optimize (speed 1) (safety 3) (debug 3))
    "Compiler optimization settings for safe, debuggable code.")
  (defparameter $optimize-fast-unsafe '(optimize (speed 3) (safety 0) (debug 0))
    "Compiler optimization settings for fast, unsafe, hard-to-debug code.")
  
  
negative.code: 
  ;;; String utilities
  
  (defun starts-with (string prefix)
    "Returns true if STRING matches PREFIX (case insensitive)."
    (and (i>= (length string) (length prefix))
         (string-equal string prefix :end1 (length prefix))
         prefix))
  
  (defun ends-with (string suffix)
    "Returns true if STRING matches SUFFIX (case insensitive)."
    (let ((string-len (length string))
          (suffix-len (length suffix)))
      (and (i>= string-len suffix-len)
           (string-equal string suffix :start1 (i- string-len suffix-len))
           suffix)))
  
  (defun strcat (&rest strings)
    "Return the concatenation of STRINGS. If no arguments are passed, the empty string is returned."
  