I love it!
I'm not sure why builder switches the position of its content argument
depeding on block vs. immediate:
builder.tag("content", "attr1"=>"val1", "attr2"=>"val2")
vs.
builder.tag("attr1"=>"val1", "attr2"=>"val2") { content }
Why not consistently use 1st position for node attribute, 2nd position for
nested node content? I hope it is not just to get the Ruby convenience of
not needing {} around trailing hash argument.
Thanks!