anchor.diff:                        (.<! nam expecting-nam (car togo))
                         (push-cdr! pos (car togo)))
                       (recur pos nam nil (cdr togo))])))
  +         (named-alist (let* [(arg '())]
  +                        (for-pairs (k v) nameds
  +                          (push-cdr! arg k)
  +                          (push-cdr! arg v))
  +                        arg))
            (interpret-spec
              (function
                [((positional ?k)) (nth positionals k)]
                [((implicitly-named ?k)) (str->sym k)]
  -             [((named ?k)) (or (.> nameds (.. ":" k))
  -                               (error (string/format "(format %q): not given value for named argument %s"
  -                                                     str k)))]))]
  +             [((named ?k)) (if (.> nameds (.. ":" k))
  +                             `(.> ,named-map ,(.. ":" k))
  +                             (error (string/format "(format %q): not given value for named argument %s"
  +                                                   str k)))]))]
       (when (> last-positional (n args))
         (error (string/format "(format %q): not given enough positional arguments (expected %d, got %d)"
                               str last-positional (n args))))
  -    `(format-output! ,out
  -                     ,(cons `.. (dolist [(frag fragments)]
  -                                  (compile-format-fragment frag interpret-spec))))))
  +    `(let* [(,named-map { ,@named-alist })]
  +       (format-output! ,out
  +                       ,(cons `.. (dolist [(frag fragments)]
  +                                    (compile-format-fragment frag interpret-spec)))))))
  
positive.code:                                [((_ (positional ?d) _)) d]
                                 [else nil])
                               fragments)))
           ((positionals nameds)
            (loop [(pos '())
                   (nam {}) (expecting-nam nil)
  
negative.code: (import base (defun defmacro > = when n list tonumber error /= + or ..
                else - >= values-list print unpack if apply const-val
                type# and get-idx gensym for-pairs))
  (import match (case function))
  (import list (cons dolist push-cdr! nth car cdr maybe-map map))
  (import table (.> .<!))
  