@Override
  public DfType tryJoinExactly(@NotNull DfType other) {
    if (other.isSuperType(this)) return other;
    if (this.isSuperType(other)) return this;
    return null;
  }
@Override
  public DfType tryJoinExactly(@NotNull DfType other)