fun someList(): List = throw Exception() fun doSmth(l: List) {} fun doSmth(a: Any) {} fun bar() { doSmth(someList()) } Resolved call: Candidate descriptor: fun doSmth(l: List): Unit defined in root package Resulting descriptor: fun doSmth(l: List): Unit defined in root package Explicit receiver kind = NO_EXPLICIT_RECEIVER Dispatch receiver = NO_RECEIVER Extension receiver = NO_RECEIVER Value arguments mapping: SUCCESS l : List = someList()