anchor.diff:    (let ((bindings
            (loop
               for (name value) in (read-tal-expression-from-string
  -				 (pull-attrib-val tag 'tal::let))
  +				 (pull-attrib-val! tag 'tal::let))
               collect `(cons ',name ,value))))
       `(let ((-tal-environment- (extend-environment (list (list ,@bindings)) -tal-environment-)))
          ,(transform-lxml-form tag))))
  
positive.code:   "On each iteration the environment is extended with the value in
    the value passed to DOLIST."
    (let ((value (read-tal-expression-from-string
  		(pull-attrib-val tag 'tal::dolist))))
      (with-unique-names (loop-item-sym)
        `(dolist (,loop-item-sym ,value)
           (let ((-tal-environment- (extend-environment ,loop-item-sym -tal-environment-)))
  
negative.code: 
  (def-attribute-handler tal::when (tag)
    (let ((value (read-tal-expression-from-string
  		(pull-attrib-val! tag 'tal::when))))
      `(when ,value
         ,(transform-lxml-form tag))))
  
  (def-attribute-handler tal::unless (tag)
    (let ((value (read-tal-expression-from-string
  		(pull-attrib-val! tag 'tal::unless))))
      `(unless ,value
         ,(transform-lxml-form tag))))
  
  