Change `Tree` and its subclasses not modify in place and be chainable. 