@Override
  public SelType call(String methodName, SelType[] args) {
    if (args.length == 0 && "currentTimeMillis".equals(methodName)) {
      return SelLong.of(DateTimeUtils.currentTimeMillis());
    }
    // no-op to support Arrays.asList
    if (args.length == 1 && "asList".equals(methodName)) {
      return args[0];
    }

    throw new UnsupportedOperationException(
        type()
            + " DO NOT support calling method: "
            + methodName
            + " with args: "
            + Arrays.toString(args));
  }
@Test(expected = UnsupportedOperationException.class)
  public void testCallOtherMethods() {
    SelMiscFunc.INSTANCE.call("nonExisting", new SelType[0]);
  }