anchor.diff:                (cond
                   [,(caar vars) (when-let* ,(cdr vars) ,@body)]
                   [true nil]))
  -            ,(cadar vars))]))
  +            ,(make-binding (cdar vars)))]))
   
   (defmacro when-with (var &body)
     "Bind the PAIR var of the form `(name value)`, only evaluating BODY if the
  
positive.code:          (bar 2)]
       (+ foo bar))
     ```"
    `((lambda ,(cars vars) ,@body) ,@(cadrs vars)))
  
  (defmacro when-let (vars &body)
    "Bind VARS, as with [[let]], and check they are all truthy before evaluating
  
negative.code: (import base (defmacro if ! when car
                cdr and pretty print debug
                defun = # >= error))
  (import type (list? nil?))
  (import list (cars cadrs caar cadar map cadr
                cdar cddr caddar))
  
  (defun make-binding (xs)
    (if (= (# xs) 1)
      (car xs)
      (if (>= (# xs) 2)
        `(lambda ,(car xs) ,@(cdr xs))
        (error "Expected binding, got nil."))))
  
  (defun make-let-binding (xs)
    (debug xs)
    (if (= (# xs) 2)
      (cadr xs)
      (if (>= (# xs) 3)
        `(lambda ,(cadr xs) ,@(cddr xs))
        (error "Expected binding, got nil."))))
  
  ;; Bind multiple variables in succession
  (defmacro let* (vars &body)
  