Generic length zipWith - a functional pearl