anchor.diff:      (%same-name (write-to-string s1) s2))
     (:method (s1 s2)
       nil))
  +
  +(defgeneric %nonblank (el)
  +  (:method ((el string))
  +    (unless (every (lambda (ch) (char= ch #\Space)) el) el))
  +  (:method ((el (eql :null)))   ; postmodern uses this for NULL fields
  +    nil)
  +  (:method ((el (eql 0)))
  +    nil)
  +  (:method ((el (eql 0.0)))
  +    nil)
  +  (:method ((el (eql nil)))
  +    nil)
  +  (:method ((el array))
  +    (< 0 (length el)))
  +  (:method (el)
  +    el))
   
   (defgeneric fetch-property (map key)
     (:method ((map hash-table) key)
  
positive.code: (defun make-if-command-handler (cmd)
    (assert (eq 'closure-template.parser:if-tag (car cmd)))
    (let ((clauses (iter (for clause in (cdr cmd))
                         (collect (cons (make-expression-handler (first clause))
                                        (make-code-block-handler (second clause)))))))
      (named-lambda if-command-handler (env out)
        (iter (for clause in clauses)
  
negative.code: 
      (or
       (make-or-handler args))
      (and
       (make-and-handler args))
      (not
       (make-not-handler (first args)))
  
      (:round
       (make-simple-function-hadler #'round/closure-template args))
  