I found an interesting article on twitter, https://ably.com/blog/redis-keys-do-not-expire-atomically.
It seems weird that we advertise scripting as an "atomic" operation, but time is passing. I think we should consider changing all of the time based operations so that they all "take" place at the start of the script.