anchor.diff:  (defun trecode-pop-fun (tc)
     (pop (trecode-funstack tc)))
   
  -(defun trecode-call (tc fun args)
  -  (| (function? fun)
  -     (macro? fun)
  -     (error "Function expexted instead of ~A." fun))
  -  (| (function-bytecode fun)
  -     (error "Function ~A has no bytecode." fun))
  -  (tc-push-many tc args)
  -  (let bytecode (function-bytecode fun)
  -    (| (array? bytecode)
  -       (error "Bytecode for ~A is not an array." fun))
  -    (let num-locals (aref bytecode 2)
  -      (= (trecode-fun tc) bytecode)
  -      (adotimes num-locals
  -        (trecode-push tc nil))
  -      (trecode-push-fun tc fun args num-locals))))
  +(defun trecode-call (tc sym args)
  +  (| (symbol? sym)
  +     (error "Symbol expected instead of ~A."))
  +  (let fun (symbol-function sym)
  +    (| (function? fun)
  +       (macrop fun)
  +       (error "No function bound to symbol ~A." sym))
  +    (| (function-bytecode fun)
  +       (error "Function ~A has no bytecode." sym))
  +    (trecode-push-many tc args)
  +    (let bytecode (function-bytecode fun)
  +      (| (array? bytecode)
  +         (error "Bytecode for ~A is not an array." fun))
  +      (let num-locals (aref bytecode 2)
  +        (= (trecode-fun tc) bytecode)
  +        (adotimes num-locals
  +          (trecode-push tc nil))
  +        (trecode-push-fun tc fun args num-locals)))))
   
   (defun trecode-return (tc)
     (alet (trecode-pop-fun tc)
  -    (tc-pop (+ (length .!.) ..!))))
  +    (trecode-pop (+ (length .!.) ..!))))
  
positive.code: (defun trecode-get-call (tc fun)
    (apply fun (trecode-get-args tc)))
  
  (defun trecode-get (tc)
    (awhen (trecode-fetch tc)
      (?
  
negative.code:       (eq '%quote !)           (trecode-fetch !)
        (eq '%vec !)             (aref (trecode-get tc) (trecode-fetch tc))
        (eq '%closure !)         (trecode-get-closure tc)
        (trecode-function? tc !) (trecode-call tc ! (trecode-get-args tc))
        !)))
  
  