def split_ne
import unified-nsga-iii@0.2.2.0/non_dominated_sort.bend as NonDominatedSortimport Base
230# Empty first front (unreachable on a finite Pareto set) keeps the head
231# so peel stays a partition.
232def split_ne(+r: Row, +rest: List<&2, Row>, s: Split) -> Split:
233 match s:
234 case Split{ff, ot}:
235 match ff:
236 case Nil{}:
237 Split{row_idx(r) <> Nil{}, rest}
238 case h <> t:
239 Split{h <> t, ot}