partition_while
