doWhileTrue :: Reuse, Reduce, Refactor