надо сделать вот что: смержить два сортированных рэнжа так же как std::merge, но чтобы только один элемент из равных попадал в выходную последовательность (от первого рэнжа, допустим)
хорошо если так. а то как-то грустно что вдруг придется писать let, fn, unwrap и вот это вот всё. но вообще главный аргумент за rust в том, в том, что rust не сегфолтится.