Like foreach, except the body has a return value, and the loop bails whenever that value != whileVal
See Implementation
Like foreach, except the body has a return value, and the loop bails whenever that value != whileVal