Если какой-то объект сложно собирается или большая часть его функциональности вызывается конструкторами,
то методы, вызываемые только из конструктора не могут устанавливать неизменяемые поля экземпляра.
если разрешить компилятору делать это методам с атрибутом [init] это позволит обойти эту проблему.
при этом разумеется со стороны компилятора должен быть контроль: такой метод может вызываться из
конструктора или [init] метода. может уже есть подобный или альтернативный механизм?