Walter Bright:
Exactly. I'm not seeing how this can work that well.
Do you have an example where this works badly? You can require the @notnull annotations on the arguments at module/package boundaries.
But I think this thread tries to face too many problems in parallel. Even just the borrowing/lifetime topic is plenty large for a single discussion thread. I suggest to create single-topic threads.
Bye, bearophile