In android-ktx, there are some extension functions which are placed in Uri.kt. One of them is toFile(). val file = uri.toFile() returns the file from uri. It returns File still it is in android.net.Uri package. I was thinking that it should be in separate File.kt. Why it is placed in Uri.kt instead of File.kt separate file? I just wanted to know the intentions of doing it.