anchor.diff:    pos
     (funstack     nil)
     (stack        (make-array 16384))
  -  (stack-pos    16384))
  +  (stack-pos    16384)
  +  (interrupt    nil))
   
   (defun trecode-fetch (tc)
     (prog1
  
positive.code: (defun trecode-exec-set-vec (tc)
      (= (aref (trecode-get tc) (trecode-get tc)) (trecode-get tc)))
  
  (defun trecode-set-place (tc value place)
    (?
      (number? place) (trecode-set-stack tc place value)
      v               (= (symbol-value place) value)))
  
  (defun trecode-exec-set (tc)
    (trecode-set-place tc (trecode-get tc) (trecode-get tc)))
  
  (defun trecode-exec (tc)
      (loop
        (case (trecode-fetch tc) :test #'eq
          '%%go      (| (trecode-exec-jmp tc)
                        (return))
          '%%go-nil  (trecode-exec-jump tc)
          '%%set-vec (trecode-exec-set-vec tc)
          (trecode-set tc))))
  
  (defun trecode-push-fun (tc fun args num-locals)
    (push (cons fun (cons args num-locals)) (trecode-funstack tc)))
  
negative.code: (defun trecode-get-call (tc fun)
    (apply fun (trecode-get-args tc)))
  
  (defun trecode-function? (tc x))
  
  (defun trecode-get (tc)
    (awhen (trecode-fetch tc)
      (?
  