Seqs are fine and natural for certain things.
They are just not a very good tool for the reason they have been introduced to in the stdlib which was something like “provide a uniform interface to enumerate the elements of containers”. So when I see them used in that context I find them a smell. First due to life times and mutation they are not a very good enumerator for imperative datastructures which the stdlib is littered with. Second what one is seeking to do is very often more efficiently done via an iter
or a fold
. This is exactly what happend when I made the comment you mentioned:
I’m not sure exactly how came up with the idea of converting to maps, partition them and then iterate over them with Seqs (Seqs are always code smells). At that point you have gone twice over the member of your archive, have sorted its paths twice, redone the map twice, and generated a lot of gc garbage with totally useless Seqs. Intead of a simple Zipc.fold.
I can see why people reach for them (direct style) but I think that most of the time code is better off if people learn to fold
.