The zip namespace currently contains 3 functions for creating a zipper: `seq-zip`, `vector-zip` and `xml-zip`. These tend to expose the implementation details instead of exposing a user to just the specification details.
A zip2 namespace that dispatches on the type, which allows curtailing the implementation details. A new zip namespace (in zip2) is proposed instead of retrofitting the protocol in the existing zip namespace in the interest of not making breaking changes by removing the existing functions. zip2 consists of a protocol to create a zipper based on the type and will be an additive API built on top of the existing zip.
Is a new namespace (zip2) the best way to go about this change? How do I retrofit this change in the existing zip namespace without making any breaking changes (the breaking change here being the removal of the existing functions that are used to create a zipper)?