Any reason not to write `if exp is None or exp > time.time():` ?