the implementation of Tree map really shocked me, the delicate use of recursion. Impressive