Adding to this, I see two other elements that make this tough to replicate in Kotlin:
1. Type erasure
2. Using sealed classes requires instantiation, while the Rust version is zero overhead.
1. Type erasure
2. Using sealed classes requires instantiation, while the Rust version is zero overhead.
There is no need to access type information at runtime here.