anchor.diff:  (defun in-cps-mode? ()
     (& (transpiler-continuation-passing-style? *current-transpiler*)
        (not *transpiler-except-cps?*)))
  +
  +(defun current-transpiler-function-arguments (x)
  +  (alet *current-transpiler*
  +    (| (transpiler-function-arguments ! x)
  +       (transpiler-host-function-arguments ! x)
  +       (function-arguments (symbol-function x)))))
  
positive.code:                      :save-sources?           save-sources?
                       :save-argument-defs-only? save-argument-defs-only?
                       :profile?                profile?
                       :gen-string              gen-string
                       :lambda-export?          lambda-export?
                       :accumulate-toplevel-expressions? accumulate-toplevel-expressions?
  
negative.code:   (current-pass nil)
    (last-pass-result nil))
  
  (defmacro transpiler-getter (name &rest body)
    `(defun ,($ transpiler- name) (tr x)
       ,@body))
  
  (defun transpiler-defined-functions (tr) (hashkeys (transpiler-defined-functions-hash tr)))
  (defun transpiler-defined-functions-without-builtins (tr) (remove-if #'builtin? (transpiler-defined-functions tr)))
  (transpiler-getter defined-function        (href (transpiler-defined-functions-hash tr) x))
  (transpiler-getter defined-variable        (href (transpiler-defined-variables-hash tr) x))
  (transpiler-getter host-function?          (href (transpiler-host-functions-hash tr) x))
  (transpiler-getter host-function-arguments (href (transpiler-host-functions-hash tr) x))
  (transpiler-getter host-variable?          (href (transpiler-host-variables-hash tr) x))
  (transpiler-getter function-body           (href (transpiler-function-bodies tr) x))
  (transpiler-getter function-arguments      (href (transpiler-function-args tr) x))
  (transpiler-getter wanted-function?        (href (transpiler-wanted-functions-hash tr) x))
  (transpiler-getter wanted-variable?        (href (transpiler-wanted-variables-hash tr) x))
  (transpiler-getter late-symbol?            (href (transpiler-late-symbols tr) x))
  (transpiler-getter unwanted-function?        (member x (transpiler-unwanted-functions tr) :test #'eq))
  (transpiler-getter inline-exception?         (member x (transpiler-inline-exceptions tr) :test #'eq))
  (transpiler-getter transpiler-cps-exception? (member x (transpiler-cps-exceptions tr) :test #'eq))
  (transpiler-getter cps-function?             (member x (transpiler-cps-functions tr) :test #'eq))
  (transpiler-getter plain-arg-fun?            (member x (transpiler-plain-arg-funs tr) :test #'eq))
  (transpiler-getter add-defined-variable (= (href (transpiler-defined-variables-hash tr) x) t)
                                          x)
  (transpiler-getter switch-obfuscator (= (transpiler-obfuscate? tr) x))
  (transpiler-getter macro? (| (expander-has-macro? (transpiler-std-macro-expander tr) x)
                               (expander-has-macro? (transpiler-codegen-expander tr) x)))
  (transpiler-getter imported-variable? (& (transpiler-import-from-environment? tr)
                                           (transpiler-host-variable? tr x)))
  
  
  (defun transpiler-add-defined-function (tr name args body)
    (= (href (transpiler-defined-functions-hash tr) name) t)
  