new design:

'edit's are good but too slow.

must find something new.

1- a prelexer may be good. 
   seperate function calls into their own blocks.
   no, will be slow for another reason.
2- what we really need is a cascaded memstream.
   this way we can just output the stuff that is left behind.

flaws&solutions:

1- too cumbersome to write a new macro
2- need to compile macros
	may use lua.
3- no quoting. no way to output a macro name
4- 

