(to tell the truth, i would probably have a parameterizable get-and-retry generic function, but i won't insist on that here :))