"constructor injection": yes, just wanted to keep code structure similar for now. But really what I'm after is to be able to express "assigned exactly once" combined with "assigned behind the scenes before first usage". Thus, I really want
lateinit val
. I also suspect that nearly all
lateinit var
are (and should be) only assigned once anyway. So would be cool if the compiler could enforce that.