I am not yet convinced, probably because the response is too short. Can somebody explain the problems with the effect system more detailed? "Eventually people just took to making everything io, at which point it was a noise word and we decided to remove it" this is not happening in haskell, is it the domain rust is used that just doesn't have that can't tolerate much purity?
OP here, what I had in mind was simple propagation where only functions marked impure could call impure functions. While I maintain that in the abstract, one could design a language around that feature without incurring a huge amount of complexity, Graydon was right doing it bluntly with annotations is a very blunt tool and anything more granular would have been quite complicated. I never interpreted it as a burn, rather someone who knew far more about Rust educating an experienced Haskeller with essentially no direct Rust experience on some of their design decisions.