How do sum types make error handling safer (without also adding exhaustive pattern matching) or easier (without adding do notation or macros)?
The point I am trying to make is that adding some features from other languages doesn't provide sufficient value without also adding other features. Adding all of them can make the language significantly more complex that you wonder whether the benefits gained are worth it.