protected @NotNull DfaValue canonicalize(@NotNull DfaValue value) {
    if (value instanceof DfaVariableValue) {
      return canonicalize((DfaVariableValue)value);
    }
    if (value instanceof DfaWrappedValue boxedValue) {
      DfaValue canonicalized = canonicalize(boxedValue.getWrappedValue());
      if (canonicalized == boxedValue.getWrappedValue()) return boxedValue;
      return myFactory.getWrapperFactory().createWrapper(boxedValue.getDfType(), boxedValue.getSpecialField(), canonicalized);
    }
    return value;
  }
protected @NotNull DfaValue canonicalize(@NotNull DfaValue value)