pub fn zip_with<A, B, C, F>(a: Vec<A>, b: Vec<B>, f: F) -> Vec<C>where F: Fn(A, B) -> C,
Zip two vectors together, stopping at the length of the shorter vector.