public T head() { return head; }
public int numChildren() { return children.length; }
public Iterable<Tree<T>> children() { return new ArrayIterator(children); }
+ public Tree<T> child(int i) { return children[i]; }
public Token.Location getLocation() { return location; }