Don't you think we should check for the `expire time` here if it's in the past. The case I'm thinking of is where `ttl` expired a while ago, but the bucket is full again now. In this case, we might be sending an expire time to the user which is in the past.