wow some things in DSL are working!
dsl: very nice refac of macros
dsl text macro

text(content) just pushes what's inside it to the assembly stack;
no descending into subelements.
dsl: generic tag assembly!
dsl: now I have all html5 ;]  no attrs though
todo comments
dsl: gather/pick for loops/closures!

This was a darker corner in the dsl -> assembly state vanished
inside blocks which introduce new scope: loops and closures.
So easy to fix with two more macros :)

What needs to be tested is a case with try block.

Reference:
http://github.com/alco/elixir/wiki/Scoping-Rules-in-Elixir-%28and-Erlang%29