Use zip instead of enumerate.
Only use predicate when actually constructing a new index, preventing
a zip.
Simplify add dramatically, as we can construct indexes when we
create the multi index instead.