Note that yours is making even fewer assumptions than mine, which makes fewer assumptions than cmp. Mine might be making too many assumptions - we can't tell. Your solution is better. The cmp on the other hand is very likely to be making too many assumptions. And that's what I was arguing - to make fewer assumptions.