higher-takeWhile