KtDeclaration: KtNamedFunction
Symbol:
fun <T> foo(x: kotlin.collections.List<T>, y: kotlin.collections.Map<T, kotlin.String>, k: kotlin.String): kotlin.Int

Signature:
KaFunctionSignature:
  receiverType = null
  returnType = kotlin.Int
  symbol = /foo(x: kotlin.collections.List<T>, y: kotlin.collections.Map<T, kotlin.String>, k: kotlin.String): kotlin.Int
  valueParameters = [
    KaVariableSignature:
      name = x
      receiverType = null
      returnType = kotlin.collections.List<T>
      symbol = x: kotlin.collections.List<T>
      contextParameters = []
      callableId = null,
    KaVariableSignature:
      name = y
      receiverType = null
      returnType = kotlin.collections.Map<T, kotlin.String>
      symbol = y: kotlin.collections.Map<T, kotlin.String>
      contextParameters = []
      callableId = null,
    KaVariableSignature:
      name = k
      receiverType = null
      returnType = kotlin.String
      symbol = k: kotlin.String
      contextParameters = []
      callableId = null
  ]
  contextParameters = []
  callableId = /foo
