Added Control.Lens.Internal.While as I work towards a more powerful takeWhile