> Why is `pure` a keyword that needs to be added, with impure being the default?
Marketing.
Instead of reading the code littered with "impure" keywords, you look at the beautiful code marked as "pure".