static ArrayList<S> assertIsStringArrayList(O o) {
  if (!o instanceof ArrayList)
    fail("Not an ArrayList: " + className(o));
  ArrayList l = cast o;
  for (O x : l)
    if (!x instanceof S)
      fail("Not a string: " + className(x));
  ret l;
}