public static List<Exprent> copyExprentList(List<? extends Exprent> lst) {
    List<Exprent> ret = new ArrayList<>();
    for (Exprent expr : lst) {
      ret.add(expr.copy());
    }
    return ret;
  }
public static List<Exprent> copyExprentList(List<? extends Exprent> lst)