Cryptocurrencies are one of the few places where white papers are celebrated. Sometimes it's just a tickbox exercise, but it does encourage thorough, up-front discussions of design.
Related Posts
@krinkle A surprising number of PL design workarounds are "just add another equals sign" 🙃
Designing UIs is such a hard problem.
Sometimes I try a bunch of options and I settle on "this one seems the least annoying".
I'm a huge fan of Swift's 'Error Handling Rationale' design document: https://github.com/swiftlang/swift/blob/9315673c003875158852579bd1f33480cdec5461/docs/ErrorHandlingRationale.md#fundamentals
It carefully defines terminology and compares with other languages, so you can understand Swift's position and preference in the design space.