generalize expression tagging, add tagging of state_scheme
yippee: remove mutation of expressions before compile_expression()
add abstract methods to FindVarExprVisitor
change vector constructor to array constructor to remove ambiguities
fix list initialization bug
all previous tests pass again (except style)