I can concur that there's the possibility for that problem, but I just don't like the degraded readability of assignment of the result of an if-else block.  To hedge against the concern of accidental variable creation, we can init `value = nil` or something beforehand.  Anyway, I leave it up to you how to clean this up.