anchor.diff:                 and gensym error for set-idx!
                  quasiquote list or pretty
                  slice concat debug apply
  -               /= # = ! - + / * >= <= ))
  +               /= # = ! - + / * >= <= % ))
   (import type ())
   (import list ( car caddr cadr cdr append for-each
                  map filter push-cdr! range snoc
  
positive.code:   (let* [(x (get-idx x :contents))]
      (= (char-at x (#s x)) "?")))
  
  (defun assert-linearity! (pat seen) :hidden
    (cond
      [(! seen) (assert-linearity! pat {})]
  
negative.code:         (compile-pattern-test (caddr pattern) `(,(cadr pattern) ,symb))]
         [(eq? (car pattern) 'optional)
          `(if ,symb ,(compile-pattern-test (cadr pattern) symb) true)]
         [(struct-pat? pattern)
          `(and (table? ,symb)
                ,@(let* [(out '(true))]
                    (for i 2 (# pattern) 2
                      (push-cdr! out (compile-pattern-test
                                       (nth pattern (+ 1 i))
                                       `(get-idx ,symb ,(nth pattern i))))
                      (push-cdr! out `(get-idx ,symb ,(nth pattern i))))
                    (debug out)
                    out))]
         [(cons-pattern? pattern)
          (let* [(pattern-sym (gensym))
                 (lhs (cons-pat-left-side pattern))
  