@inthehands think about whether logging is “mutable state.” (Then think about it again remembering that OSLogStore is readable.) That’s probably the best way to come to grips with the difficulty we always run into with defining “pure.”
Is generating random number legal in an async function if it modifies the RNG state? State is so pervasive.