-- | 'zipLazy' is a kind of 'zip' that is lazy in the second list (observe the ~)
zipLazy :: [a] -> [b] -> [(a,b)]
zipLazy []     _       = []
zipLazy :: [a] -> [b] -> [(a,b)]
zipLazy []     _       = []
zipLazy []     _       = []