zip package:keys

Laws:
fmap fst (zip u u) = u
fmap snd (zip u u) = u
zip (fmap fst u) (fmap snd u) = u
zip (flip (,)) x y = zip y x