Pair <OrderedSequence <T, M>, OrderedSequence <T, M> > Partition(M vK) { Pair <FingerTree <T, M>, FingerTree <T, M> > split = _tree.SplitSequence(y => vK.CompareTo(y) < 0); var left = new OrderedSequence <T, M>(split.First); var right = new OrderedSequence <T, M>(split.Second); return(Pair.New(left, right)); }