Feature/preorder traversal

Hip-skip hippety hop and it's memoized!
:+1: