cleaned up and improved reuse of tree functions (visit, visitAndRebuild) => less implementation per (new) type or ir needed :)