
in my version, i wrote the myZip command first which zips the 2 input lists into a list of pairs, then map the multiply function over the elements of that list. i wanted to retain the ability to supply any 2-argument function at the time of calling myZipWith.
(i probably over coded it - i couldn't figure out a way of passing a function as a parameter to another function other than shown here).
i'm also attaching the short program for anyone interested.