Theme 1 – Typestate treats types like a puzzle that guarantees correct usage
- “Types are puzzles. A good Rustacean will make sure that the pieces fit to make the picture.” – vatsachak
- “At the end of the day we are shoveling and playing with bytes so we need to provide handles to these processes which make sure that we can't fit a 'square peg into a round hole'.” – vatsachak
Theme 2 – The pattern can be verbose and hurt readability
- “Typestate improves code faultlessness and testability, but comes at the cost of more boilerplate code and can degrade readability.” – gardaani (quoting the article)
- “The pattern seemed so cumbersome … it’s also like 10x the code.” – throwaway894345
Theme 3 – Alternatives trade off simplicity for the same safety guarantees
- “Why not just create a wrapper type for the payload that is returned by func1 and func2 takes it as a parameter?” – binary132
- “I would write a specific function, just copy‑paste of the bodies capturing the required ordering as an implementation detail.” – throwaway17_17