I find this code a *lot* more readable. I think this is a good example where attempting DRY results in more obscure code.