Add zip combinator with tests