I understand, that the potential is there, when the way the lambda is called is unknown or may change. So a more general approach in the compiler would be nice, which can reason about the actual potential of any lambda being not called. But in this simple case it would be sufficcient to mark language-internal constructs (maybe using annotations), so the compiler knows for sure. This should be okay, since these functions should never change in future releases.