@Test
public void removeArg() throws Exception {

  List<Expr> args = Arrays.asList(new BoolConstantExpr(true), new BoolConstantExpr(false),
      new IntConstantExpr("3"),
      new IntConstantExpr("4"));
  TypeConstructorExpr e = new TypeConstructorExpr("foo",
      args);
  assertEquals(4, args.size());
  assertEquals(4, e.getArgs().size());
  e.removeArg(1);
  assertEquals(4, args.size());
  assertEquals(3, e.getArgs().size());
  assertEquals(args.get(0), e.getArg(0));
  assertEquals(args.get(2), e.getArg(1));
  assertEquals(args.get(3), e.getArg(2));
}