Is the reason for the existence if this functionality an expected significant performance gain (by often returning `this` instead of rebuilding every node every time) or why do we do this?