@Override
  public String toString() {
    if (isPure()) return "(pure)";
    if (this == UNKNOWN) return "(unknown)";
    return IntStreamEx.range(myParameters.length).mapToEntry(idx -> "param" + (idx + 1), idx -> myParameters[idx])
      .prepend("this", myThis).prepend("io", myIo).filterValues(b -> b).keys().joining(",");
  }
@Override
  public String toString()