public AstNodeListImpl(T... children) {
   for (T x : children) add(x);
 }
 public AstNodeListImpl(T a, T b, T c, T d) {
   add(a);
   add(b);
   add(c);
   add(d);
 }
 public AstNodeListImpl(T car, Pair<? extends T> cdr) {
   add(car);
   addAll(cdr);
 }
 public AstNodeListImpl(T a, T b) {
   add(a);
   add(b);
 }
 public AstNodeListImpl(T child) {
   add(child);
 }