anchor.diff:  (defmacro define-js-preprocessor (name args body)
     `(define-transpiler-preprocessor *js-transpiler* ,name ,args ,body))
   
  -(define-js-preprocessor defun (args &rest body)
  +(define-js-preprocessor defun (tr name &rest args)
     (block nil
  -	(acons! name args (transpiler-function-args *js-transpiler*))))
  +	(format t "Preprocessing ~A~%" `(,name ,(first args)))
  +	(acons! name (first args) (transpiler-function-args tr))))
   
   ;;;; STANDARD MACRO RENAMING
   
  
positive.code:     		  ,@body)))
  
  (define-js-macro function (x)
    `("function ",@(transpiler-binary-expand
  				   ","
  				   (argument-expand (lambda-args x) nil nil))
  	,(code-char 10)
  	"{"
  	(~%ret "=" nil) ,*js-separator*
      ,@(lambda-body x)
      ("return " ~%ret ,*js-separator*)
  	"}"))
  
  (define-js-macro defvar (name val)
    `("var " ,name " = " ,val))
  
negative.code: ;;;; basic functions to simulate basic data types.
  
  (defun js-base ()
    (js-transpile 
  '(
  ; IDENTITY - use native
  
  