There's certainly situations where this pattern creates some tricky ambiguity, but more often than not Result is quite an ergonomic pattern to work with.
In case it's useful for anyone, here is a simple plug-in-play TypeScript version:
```
type Ok<T = void> = T extends undefined ? { ok: true; } : { ok: true; val: T; };
Part of the thinking behind the Barbican's somewhat hidden entrances to the estate and tts maze-like layout was that they would reduce foot traffic, and it totally worked. Not many people use the public estate high-walks as a shortcut to get across the City. This has a wonderful effect wherein you're surrounded by the hustle and bustle of the City, while being just a touch insulated from it.
I lived there for the better part of a year and it completely changed my perspective on living in London. More city-life should be like the Barbican.
Not sure if you're aware, but if you're interested in SEO/AEO marketing, there's very healthy monthly traffic for long-tail searches in this area. Some searches getting towards 100K per month.