package com.example.puzzles.types.variance interface Fruit class Strawberry() : Fruit class Mangosteen() : Fruit class Watermelon() : Fruit fun main() { val strawberries = arrayOf(Strawberry(), Strawberry(), Strawberry()) eatFruits(strawberries) } fun eatFruits(fruits: Array) { for (fruit in fruits) println("Ate a lovely ${fruit::class.simpleName}") }