Restored type is the same as the original one

KaFlexibleType:
  abbreviation: null
  annotations: []
  lowerBound: KaUsualClassType:
    abbreviation: null
    annotations: []
    classId: java/util/function/Function
    qualifiers: [
      KaResolvedClassTypeQualifier:
        name: Function
        symbol: KaNamedClassSymbol(java/util/function/Function)
        typeArguments: [
          KaFlexibleType:
            abbreviation: null
            annotations: []
            lowerBound: KaUsualClassType:
              abbreviation: null
              annotations: []
              classId: kotlin/String
              qualifiers: [
                KaResolvedClassTypeQualifier:
                  name: String
                  symbol: KaNamedClassSymbol(kotlin/String)
                  typeArguments: []
              ]
              symbol: KaNamedClassSymbol(kotlin/String)
              typeArguments: []
              isMarkedNullable: false
              isNullable: false
              hasFlexibleNullability: false
            upperBound: KaUsualClassType:
              abbreviation: null
              annotations: []
              classId: kotlin/String
              qualifiers: [
                KaResolvedClassTypeQualifier:
                  name: String
                  symbol: KaNamedClassSymbol(kotlin/String)
                  typeArguments: []
              ]
              symbol: KaNamedClassSymbol(kotlin/String)
              typeArguments: []
              isMarkedNullable: true
              isNullable: true
              hasFlexibleNullability: false
            isMarkedNullable: false
            isNullable: true
            hasFlexibleNullability: true
          KaFlexibleType:
            abbreviation: null
            annotations: []
            lowerBound: KaDefinitelyNotNullType:
              abbreviation: null
              annotations: []
              original: KaTypeParameterType:
                abbreviation: null
                annotations: []
                name: T
                symbol: KaTypeParameterSymbol:
                  anchorPsi: KtTypeParameter
                  annotations: []
                  isActual: false
                  isExpect: false
                  isExternal: false
                  isReified: false
                  location: LOCAL
                  modality: FINAL
                  name: T
                  origin: SOURCE
                  psi: KtTypeParameter
                  realPsi: KtTypeParameter
                  upperBounds: []
                  variance: INVARIANT
                  visibility: LOCAL
                isMarkedNullable: false
                isNullable: true
                hasFlexibleNullability: false
              isMarkedNullable: false
              isNullable: false
              hasFlexibleNullability: false
            upperBound: KaTypeParameterType:
              abbreviation: null
              annotations: []
              name: T
              symbol: KaTypeParameterSymbol:
                anchorPsi: KtTypeParameter
                annotations: []
                isActual: false
                isExpect: false
                isExternal: false
                isReified: false
                location: LOCAL
                modality: FINAL
                name: T
                origin: SOURCE
                psi: KtTypeParameter
                realPsi: KtTypeParameter
                upperBounds: []
                variance: INVARIANT
                visibility: LOCAL
              isMarkedNullable: true
              isNullable: true
              hasFlexibleNullability: false
            isMarkedNullable: false
            isNullable: true
            hasFlexibleNullability: true
        ]
    ]
    symbol: KaNamedClassSymbol(java/util/function/Function)
    typeArguments: [
      KaFlexibleType:
        abbreviation: null
        annotations: []
        lowerBound: KaUsualClassType:
          abbreviation: null
          annotations: []
          classId: kotlin/String
          qualifiers: [
            KaResolvedClassTypeQualifier:
              name: String
              symbol: KaNamedClassSymbol(kotlin/String)
              typeArguments: []
          ]
          symbol: KaNamedClassSymbol(kotlin/String)
          typeArguments: []
          isMarkedNullable: false
          isNullable: false
          hasFlexibleNullability: false
        upperBound: KaUsualClassType:
          abbreviation: null
          annotations: []
          classId: kotlin/String
          qualifiers: [
            KaResolvedClassTypeQualifier:
              name: String
              symbol: KaNamedClassSymbol(kotlin/String)
              typeArguments: []
          ]
          symbol: KaNamedClassSymbol(kotlin/String)
          typeArguments: []
          isMarkedNullable: true
          isNullable: true
          hasFlexibleNullability: false
        isMarkedNullable: false
        isNullable: true
        hasFlexibleNullability: true
      KaFlexibleType:
        abbreviation: null
        annotations: []
        lowerBound: KaDefinitelyNotNullType:
          abbreviation: null
          annotations: []
          original: KaTypeParameterType:
            abbreviation: null
            annotations: []
            name: T
            symbol: KaTypeParameterSymbol:
              anchorPsi: KtTypeParameter
              annotations: []
              isActual: false
              isExpect: false
              isExternal: false
              isReified: false
              location: LOCAL
              modality: FINAL
              name: T
              origin: SOURCE
              psi: KtTypeParameter
              realPsi: KtTypeParameter
              upperBounds: []
              variance: INVARIANT
              visibility: LOCAL
            isMarkedNullable: false
            isNullable: true
            hasFlexibleNullability: false
          isMarkedNullable: false
          isNullable: false
          hasFlexibleNullability: false
        upperBound: KaTypeParameterType:
          abbreviation: null
          annotations: []
          name: T
          symbol: KaTypeParameterSymbol:
            anchorPsi: KtTypeParameter
            annotations: []
            isActual: false
            isExpect: false
            isExternal: false
            isReified: false
            location: LOCAL
            modality: FINAL
            name: T
            origin: SOURCE
            psi: KtTypeParameter
            realPsi: KtTypeParameter
            upperBounds: []
            variance: INVARIANT
            visibility: LOCAL
          isMarkedNullable: true
          isNullable: true
          hasFlexibleNullability: false
        isMarkedNullable: false
        isNullable: true
        hasFlexibleNullability: true
    ]
    isMarkedNullable: false
    isNullable: false
    hasFlexibleNullability: false
  upperBound: KaUsualClassType:
    abbreviation: null
    annotations: []
    classId: java/util/function/Function
    qualifiers: [
      KaResolvedClassTypeQualifier:
        name: Function
        symbol: KaNamedClassSymbol(java/util/function/Function)
        typeArguments: [
          KaFlexibleType:
            abbreviation: null
            annotations: []
            lowerBound: KaUsualClassType:
              abbreviation: null
              annotations: []
              classId: kotlin/String
              qualifiers: [
                KaResolvedClassTypeQualifier:
                  name: String
                  symbol: KaNamedClassSymbol(kotlin/String)
                  typeArguments: []
              ]
              symbol: KaNamedClassSymbol(kotlin/String)
              typeArguments: []
              isMarkedNullable: false
              isNullable: false
              hasFlexibleNullability: false
            upperBound: KaUsualClassType:
              abbreviation: null
              annotations: []
              classId: kotlin/String
              qualifiers: [
                KaResolvedClassTypeQualifier:
                  name: String
                  symbol: KaNamedClassSymbol(kotlin/String)
                  typeArguments: []
              ]
              symbol: KaNamedClassSymbol(kotlin/String)
              typeArguments: []
              isMarkedNullable: true
              isNullable: true
              hasFlexibleNullability: false
            isMarkedNullable: false
            isNullable: true
            hasFlexibleNullability: true
          KaFlexibleType:
            abbreviation: null
            annotations: []
            lowerBound: KaDefinitelyNotNullType:
              abbreviation: null
              annotations: []
              original: KaTypeParameterType:
                abbreviation: null
                annotations: []
                name: T
                symbol: KaTypeParameterSymbol:
                  anchorPsi: KtTypeParameter
                  annotations: []
                  isActual: false
                  isExpect: false
                  isExternal: false
                  isReified: false
                  location: LOCAL
                  modality: FINAL
                  name: T
                  origin: SOURCE
                  psi: KtTypeParameter
                  realPsi: KtTypeParameter
                  upperBounds: []
                  variance: INVARIANT
                  visibility: LOCAL
                isMarkedNullable: false
                isNullable: true
                hasFlexibleNullability: false
              isMarkedNullable: false
              isNullable: false
              hasFlexibleNullability: false
            upperBound: KaTypeParameterType:
              abbreviation: null
              annotations: []
              name: T
              symbol: KaTypeParameterSymbol:
                anchorPsi: KtTypeParameter
                annotations: []
                isActual: false
                isExpect: false
                isExternal: false
                isReified: false
                location: LOCAL
                modality: FINAL
                name: T
                origin: SOURCE
                psi: KtTypeParameter
                realPsi: KtTypeParameter
                upperBounds: []
                variance: INVARIANT
                visibility: LOCAL
              isMarkedNullable: true
              isNullable: true
              hasFlexibleNullability: false
            isMarkedNullable: false
            isNullable: true
            hasFlexibleNullability: true
        ]
    ]
    symbol: KaNamedClassSymbol(java/util/function/Function)
    typeArguments: [
      KaFlexibleType:
        abbreviation: null
        annotations: []
        lowerBound: KaUsualClassType:
          abbreviation: null
          annotations: []
          classId: kotlin/String
          qualifiers: [
            KaResolvedClassTypeQualifier:
              name: String
              symbol: KaNamedClassSymbol(kotlin/String)
              typeArguments: []
          ]
          symbol: KaNamedClassSymbol(kotlin/String)
          typeArguments: []
          isMarkedNullable: false
          isNullable: false
          hasFlexibleNullability: false
        upperBound: KaUsualClassType:
          abbreviation: null
          annotations: []
          classId: kotlin/String
          qualifiers: [
            KaResolvedClassTypeQualifier:
              name: String
              symbol: KaNamedClassSymbol(kotlin/String)
              typeArguments: []
          ]
          symbol: KaNamedClassSymbol(kotlin/String)
          typeArguments: []
          isMarkedNullable: true
          isNullable: true
          hasFlexibleNullability: false
        isMarkedNullable: false
        isNullable: true
        hasFlexibleNullability: true
      KaFlexibleType:
        abbreviation: null
        annotations: []
        lowerBound: KaDefinitelyNotNullType:
          abbreviation: null
          annotations: []
          original: KaTypeParameterType:
            abbreviation: null
            annotations: []
            name: T
            symbol: KaTypeParameterSymbol:
              anchorPsi: KtTypeParameter
              annotations: []
              isActual: false
              isExpect: false
              isExternal: false
              isReified: false
              location: LOCAL
              modality: FINAL
              name: T
              origin: SOURCE
              psi: KtTypeParameter
              realPsi: KtTypeParameter
              upperBounds: []
              variance: INVARIANT
              visibility: LOCAL
            isMarkedNullable: false
            isNullable: true
            hasFlexibleNullability: false
          isMarkedNullable: false
          isNullable: false
          hasFlexibleNullability: false
        upperBound: KaTypeParameterType:
          abbreviation: null
          annotations: []
          name: T
          symbol: KaTypeParameterSymbol:
            anchorPsi: KtTypeParameter
            annotations: []
            isActual: false
            isExpect: false
            isExternal: false
            isReified: false
            location: LOCAL
            modality: FINAL
            name: T
            origin: SOURCE
            psi: KtTypeParameter
            realPsi: KtTypeParameter
            upperBounds: []
            variance: INVARIANT
            visibility: LOCAL
          isMarkedNullable: true
          isNullable: true
          hasFlexibleNullability: false
        isMarkedNullable: false
        isNullable: true
        hasFlexibleNullability: true
    ]
    isMarkedNullable: true
    isNullable: true
    hasFlexibleNullability: false
  isMarkedNullable: false
  isNullable: true
  hasFlexibleNullability: true