[`merge_join_by`](https://docs.rs/itertools/latest/itertools/trait.Itertools.html#method.merge_join_by) handles the "merge two sorted iterators" bit, and `zip` handles iterating through the bindings/definitions along with their associated constraints. --------- Co-authored-by: Micha Reiser <micha@reiser.io>