anchor.diff:    (let* ((varname (var-jsname (foreach-varname cmd)))
            (seqname (format nil "$sequence_~A$" varname))
            (counter-name (format nil "$counter_~A$" varname)))
  -    
  +
       (write-indent out)
       (format out "var ~A = " seqname)
       (write-expression (foreach-expression cmd) out)
  
positive.code:     (write-line "if (!$target$) return $result$.join('');" out)
      (write-indent out)
      (write-line "else return null;" out)
      
      (write-line "};" out)))
  
  (defun write-namespace (namespace out &aux (name (namespace-name namespace)))
    (write-namespace-declaration name out)
    (write-namespace-body name (namespace-templates namespace) out))
  
  (defun write-namespace-declaration (name out)
    (iter (for pos first (position #\. name) then (position #\. name :start (1+ pos)))
          (for short-name = (subseq name 0 pos))
          (format out "if (typeof ~A === 'undefined') { ~A = {}; }~&" short-name short-name)
          (while pos))
    (macrolet ((write-function (funname (&optional (args "obj"))  &body body)
                 `(progn
                    (write-line "" out)
  
negative.code:   (:method (obj)
      (compile-to-js (parse-template obj))))
  
  (defun compile-to-requirejs (obj)
    ;(:method ((obj namespace))
    (with-output-to-string (out)
      ;(write-namespace obj out)))
      (write-string "define(function () {
  var module = { };" out)
      (write-namepspace-helpers "module" out)
      (write-namespace-body "module" (namespace-templates (parse-template obj)) out)
      (write-string "return module; });" out)))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;; namespace/template
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  (defclass javascript-backend () ())
  
  (defclass requirejs-backend (javascript-backend) ())
  
  (defmethod compile-template ((backend (eql :javascript-backend)) template)
    (compile-template (make-instance 'javascript-backend)
                      template))
  
  (defmethod compile-template ((backend (eql :requirejs-backend)) template)
    (compile-template (make-instance 'requirejs-backend)
                      template))
  
  (defmethod compile-template ((backend javascript-backend) template)
    (compile-to-js template))
  
  (defmethod compile-template ((backend requirejs-backend) template)
    (compile-to-requirejs template))
  
  (defmethod compile-template ((backend javascript-backend) (templates list))
    (let ((namespace-map (make-hash-table :test 'equal)))
  