Haskell exercise: Suppose, we replace `[]` and `(,)` with their Church encoding using functional types: type List a = b. (a b b) b b type Pair a b = c. (a b c) c Implement: zip' :: List a List b List (Pair a b) ChatGPT was able to do that.