It's 2025, can we have a “lazy let”?

This should be implemented using a macro, but AtomicLazyReference has too many restrictions, making it impossible to use a single @lazy let/var to cover all cases.