although it was a clever use of lazy init if you pay attention to the value it produces it is always Unit, which usually indicates that we don't care about that value, that is because we are only interested on the side effects produced by the lambda given on the init block and that indicates that the abstraction we should be using is a just a regular fun
production code is not about being "code clever" is about having the right use of abstractions to model the domain you are modeling
similar thing for checkReturnToMainScreen, but that can be done instantiating a test model for that view