anchor.diff:    (let* [(pattern (car pt))
            (value (cadr pt))
            (val-sym (gensym))]
  +    (assert-linearity! pattern)
       `(let* [(,val-sym ,value)]
          ,(compile-pattern pattern val-sym body))))
   
  
positive.code:   (let* [(val-sym (gensym))
           (compile-arm
             (lambda (pt)
               `(,(compile-pattern-test (car pt) val-sym)
                 (let* ,(compile-pattern-bindings (car pt) val-sym)
                   ,@(cdr pt)))))]
  
negative.code: (import lua/basic (xpcall))
  (import lua/math (max))
  (import base ( defun defmacro if get-idx
                 and gensym error for set-idx!
                 quasiquote list or pretty
                 slice concat debug apply
                 /= # = ! - + / * >= <= ))
  