It's not obvious what `pure` means in rust, but it doesn't seem to have much to do with common notions of purity. For example, pure functions can call stateful closures.