If a lambda expression does not use its instance parameter, it is safe
to use before a chainup expression. To make this work, usage of 'this'
has to be tracked and the code generator needs to make use of this
information.
This requires that the instance parameter is initialized at the end of
the constructor.
Another issue is the possibility of initializing 'this' more than once,
so I added a warning when this is the case.
Lambdas can confuse the flow analyser when chaining up. The reason is
that lambdas take their instance parameter directly from the enclosing
method without copying it.
Since flow analysis in the lambdas method body is separate from the
creation method it was defined in, 'this' is seen as uninitialized.