Well, the use case was to allow saving state of an app on iOS as well, while keep using native Parcelize+Parcelable on Android. So I KMP-fied a bunch of interfaces and annotations, typealiased them to Parcelize/Parcelable on Android, and then created a compiler plugin for Darwin targets that generates the code and relies on NSSecureCoding. Until all of a sudden things
broke in K2. That issue was eventually fixed, but I didn't have time to update parcelize-darwin because I already migrated all my libs to kotlinx-serialization.