adding size, maximum, depth and map to Tree
rewriting Tree functions using fold