@ivan Java has the same restriction. In Java I sometimes write a static method to do a local calculation and return it, which can then be passed to another ctor. The reason I don't call an instance method is because it is dangerous -- the object is not fully constructed yet. I don't know if there is a corollary in Kotlin.