Well, i dont know how do you declared tree or what is free_vars exactly:
- If tree is an object, it shouldn't be defined like `let tree =
Tree(whatever)`, but `var tree = Tree(whatever)`. If tree is a ref object you
can ignore this
- If free_vars is a proc, make sure the return type is var seq[Op]: `proc
tree_vars(t: Tree): var seq[Op]`