// Warning, this code won't compile in Kotlin // it has problemss. Can you spot which line won't compile? fun main(args: Array) { val mlist = listOf(Programmer("Ted"), Tester("Steph")) // (1) val mprogs = mlist.typeOf() // (2) mprogs.forEach { // (3) println("${it.toString()} : ${it.javaClass.simpleName}") } } fun List.typeOf() : List { // (4) val retlist = mutableListOf() // (5) this.forEach { if (it is T) { // (6) retlist.add(it) // (7) } } return retlist // (8) } open class Employee(val name:String) { override fun toString(): String { return name } } class Programmer(name:String) : Employee(name) {} class Tester(name:String) : Employee(name) {}