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.
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.