public override int VisitLeaf(TreeLeaf <T> leaf) { return(0); }
public abstract void Visit(TreeLeaf l);
public abstract Val VisitLeaf(TreeLeaf <T> leaf);
public override void Visit(TreeLeaf l) { currDepth += 1; maxDepth = currDepth > maxDepth ? currDepth : maxDepth; currDepth -= 1; }