QBox wraps async operations in a lazy proxy. The value exists in "superposition" until you observe it—then the box disappears and you just have your data.
user = QBox(fetch_user()) # starts async, returns immediately
score = user.score * 2 + bonus # chains lazily, still no blocking
if score > 100: # observation happens HERE
print("High score!")
No async/await spreading through your codebase. Pure stdlib, Python 3.10+.