anchor.diff:  (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)
       (?
  
positive.code:   pos
    (funstack     nil)
    (stack        (make-array 16384))
    (stack-pos    16384))
  
  (defun trecode-fetch (tc)
    (prog1
  
negative.code: (defun trecode-exec-set-vec (tc)
      (= (aref (trecode-get tc) (trecode-get tc)) (trecode-get tc)))
  
  (defun trecode-exec-set-place (tc value place)
    (?
      (number? place) (trecode-set-stack tc place value)
      (= (symbol-value place) value)))
  
  (defun trecode-exec-set (tc)
    (trecode-exec-set-place tc (trecode-get tc) (trecode-get tc)))
  
  (defun trecode-exec (tc)
      (loop
        (awhen (trecode-interrupt tc)
          (& (funcall ! tc)
             (return)))
        (case (trecode-fetch tc) :test #'eq
          '%%go      (| (trecode-exec-cond tc)
                        (return))
          '%%go-nil  (trecode-exec-jump tc)
          '%%set-vec (trecode-exec-set-vec tc)
          (trecode-exec-set tc))))
  
  (defun trecode-push-fun (tc fun args num-locals)
    (push (cons fun (cons args num-locals)) (trecode-funstack tc)))
  