Hey @tsk appreciate you for bringing this up. Had some interesting internal discussions around your comment and the final response from the compiler team was
“Purity is a very overloaded term. It could mean the narrow sense that relates only to storage, which is what is actually being checked and what the linked docs are talking about or some larger sense of interaction with the blockchain.
We even use it in the docs in some places to talk about some different feature predicates used to have. So I don’t think there’s a clear defined meaning at this time.”