use a map of meta data instead of just a single index
IfCollapser -> Collapser, add while statement test
support while statements in collapser
support while statements during compilation