/* Here element has type Captured(*) because of resolution for `iterator()` on this. and where we resolve `destination.add(element)` we approximate element to `Any` with smart cast to `R`. */ inline fun > Array<*>.filterIsInstanceTo(destination: C): C { for (element in this) if (element is R) destination.add(element) return destination }