anchor.diff:                  (translate-item backend
                                   (third args)))))))
   
  +(defmethod translate-named-item ((backend javascript-backend) (item (eql 'closure-template.parser:if-tag)) args)
  +  (cond
  +    ((= (length args) 1) `(when ,(translate-expression backend
  +                                                       (first (first args)))
  +                            ,(translate-item backend
  +                                             (cdr (first args)))))
  +    ((and (= (length args) 2)
  +          (eql (first (second args)) t)) `(if ,(translate-expression backend
  +                                                                     (first (first args)))
  +                                              ,(translate-item backend
  +                                                               (cdr (first args)))
  +                                              ,(translate-item backend
  +                                                               (cdr (second args)))))
  +    (t (cons 'cond
  +             (iter (for v in args)
  +                   (collect (list (translate-expression backend
  +                                                        (first v))
  +                                  (translate-item backend
  +                                                  (cdr v)))))))))
  +
   (defmethod translate-named-item ((backend javascript-backend) (item (eql 'closure-template.parser:switch-tag)) args)
     `(case ,(translate-expression backend (first args))
        ,@(iter (for clause in (cddr args))
  
positive.code:      ,@(if (second args) (list (list t
                                       (translate-item backend
                                                       (second args)))))))
  
  
  (defmethod translate-named-item ((backend javascript-backend) (item (eql 'closure-template.parser:call)) args)
  
negative.code: 
  (in-package #:closure-template)
  
  (defclass javascript-backend () ())
  
  (defvar *local-variables* nil)
  
  