(tagbody
   (setq val 2)
   (go lp)
   (incf val 3)
   lp (incf val 4))  NIL
 val
  NIL
 val  6
 6 
The following is in error because there is a normal exit 
of the tagbody before the 
go is executed.
 (let ((a nil)) 
   (tagbody t (setq a #'(lambda () (go t))))
   (funcall a))
The following is in error because the tagbody is passed over
before the go form is executed.
 (funcall (block nil
            (tagbody a (return #'(lambda () (go a))))))