zip and unzip function generator for ocaml