add :^dynamic to global variable declaration
working on head-first, depth-first generation while generating lazily