Fix vec2vec

This is a bit of an overhaul for this, but it fixes the bug demonstrated in the added test.