KaTypeParameterSymbol:
  anchorPsi: KtTypeParameter
  annotations: []
  isActual: false
  isExpect: false
  isExternal: false
  isReified: false
  location: LOCAL
  modality: FINAL
  name: X
  origin: SOURCE
  psi: KtTypeParameter
  realPsi: KtTypeParameter
  upperBounds: []
  variance: INVARIANT
  visibility: LOCAL
  getContainingFileSymbol: KaFileSymbol(functionWithTypeParams.kt)
  getContainingModule: KaSourceModule "Sources of main"
  deprecation: null
  importableFqName: null

KaNamedFunctionSymbol:
  anchorPsi: KtNamedFunction
  annotations: []
  callableId: /foo
  contextParameters: []
  contextReceivers: []
  contractEffects: []
  hasStableParameterNames: true
  isActual: false
  isBuiltinFunctionInvoke: false
  isCompanion: false
  isExpect: false
  isExtension: false
  isExternal: false
  isInfix: false
  isInline: false
  isOperator: false
  isOverride: false
  isStatic: false
  isSuspend: false
  isTailRec: false
  location: TOP_LEVEL
  modality: FINAL
  name: foo
  origin: SOURCE
  psi: KtNamedFunction
  realPsi: KtNamedFunction
  receiverParameter: null
  returnType: KaUsualClassType:
    annotations: []
    typeArguments: []
    type: kotlin/Unit
  typeParameters: [
    KaTypeParameterSymbol:
      anchorPsi: KtTypeParameter
      annotations: []
      isActual: false
      isExpect: false
      isExternal: false
      isReified: false
      location: LOCAL
      modality: FINAL
      name: X
      origin: SOURCE
      psi: KtTypeParameter
      realPsi: KtTypeParameter
      upperBounds: []
      variance: INVARIANT
      visibility: LOCAL
      getContainingFileSymbol: KaFileSymbol(functionWithTypeParams.kt)
      getContainingModule: KaSourceModule "Sources of main"
      deprecation: null
      importableFqName: null
  ]
  valueParameters: [
    KaValueParameterSymbol:
      anchorPsi: KtParameter
      annotations: []
      callableId: null
      contextParameters: []
      contextReceivers: []
      hasDeclaredDefaultValue: false
      hasDefaultValue: false
      isActual: false
      isCompanion: false
      isCrossinline: false
      isDelegated: false
      isExpect: false
      isExtension: false
      isExternal: false
      isImplicitLambdaParameter: false
      isNoinline: false
      isVal: true
      isVararg: false
      location: LOCAL
      modality: FINAL
      name: x
      origin: SOURCE
      primaryConstructorProperty: null
      psi: KtParameter
      realPsi: KtParameter
      receiverParameter: null
      returnType: KaTypeParameterType:
        annotations: []
        type: X
      typeParameters: []
      visibility: PUBLIC
      getContainingFileSymbol: KaFileSymbol(functionWithTypeParams.kt)
      getContainingJvmClassName: FunctionWithTypeParamsKt
      getContainingModule: KaSourceModule "Sources of main"
      deprecation: null
      importableFqName: null
  ]
  visibility: PUBLIC
  getContainingFileSymbol: KaFileSymbol(functionWithTypeParams.kt)
  getContainingJvmClassName: FunctionWithTypeParamsKt
  canBeOperator: false
  getContainingModule: KaSourceModule "Sources of main"
  deprecation: null
  returnValueStatus: Unspecified
  javaMethodName: foo
  importableFqName: foo
