As I said originally: Yes, it’s fine the way it is, we can all live with it, especially if the execution semantics are clearly documented somewhere a programmer will easily find it when looking for it.
That being said, renaming “pure” to something else would help. “implicit” would be my favorite. Meaning, execution time is implicitly determined, rather than explicitly. (“implicit” of course has a different meaning in Scala, but let’s not get too excited about that!)
Separately, I still think short circuiting is a good thing, if we could have it. It is unlikely to break existing code, and it may give someone somewhere a bit of performance help.