new Iterator\PartitionBy; make iter constructor consistent and fn-first