file1.kt: ```kt @DataSchema private interface A { // TODO } private fun DataFrame<A>.something() = TODO() ``` file2.kt: ```kt @DataSchema private interface A { val a: Int } private fun DataFrame<A>.something() { // some implementation } ``` Especially common in a teaching scenario where one file is the exercise and the second once contains the solution.