Since "protocol oriented" is a programming technik...
# random
v
Since "protocol oriented" is a programming technik, the difference between a runtime and a compile time implementation is not significant. That's why I believe Kotlin has all it takes to mimic almost any Swift code in this regard (ye I know about dynamic dispatch)