I always had a love/hate relationship with the efficient but cryptic:

if (x=getValue) return x

I like the idea of creating something less cryptic and just as efficient,
but your implementation doesn't seem to make it less cryptic or more
efficient.

Here is the traditional way of doing it:

 | def doSomethingWith value
 |   if (result = tryFirstThing value) then return result
 |   makeSomePreparations value
 |   if (result = trySomethingElse value) then return result
 |   raise TypeError, "could not do it"
 | end

Wayne