Kotlin data classes that have multiple constructors need to have their final fields writable,
otherwise creating a instance of them with default values, fails in native mode
Tests whether a class is a data class (based on this answer:
https://discuss.kotlinlang.org/t/detect-data-class-in-runtime/6155/2)
and whether the class has default values for fields (default values leads to having multiple constructors in bytecode)