Fixes & initial work on tree->walk (not yet finished)

Work on tree->walk might be annoying, but we will see about that later on,
it currently works fine for simple stuff, haven't tested for ambigious
expressions and so on