Yes, I also wonder about the memory implications - however, I think there should be ‘structure sharing’ going on.
Suppose I have some items in a zipper list, Zipper LargeObject, then each version of that list over a set of N items will consist of the item currently in focus and the pre and post lists of the other items. It will have memory N * size (LargeObject + some small overhead for the list structures themselves). However, the set of all N possible zippers will not be N times that, as each of the large objects will not be copied. So the size of all possible zippers would be N * size (LargeObject) + N^2 * size (overhead).
So it depends how big the objects are, and how many of them you have. I guess my objects are not typically that huge, but you can only fit so much stuff on one screen so N is never huge either.
In practice I found it worked well enough so far that I have not been concerned about performance, but I’ve never really been working with lists longer than 50 either. It would be interesting to try some memory profiling on it - I find the profiler in Chrome pretty baffling compared with jProfiler from my Java days.