The Zipper is an idiom that uses the idea of “context” to the means of manipulating locations in a data structure. Zipper monad is a monad which implements the zipper for binary trees. Sometimes you want to manipulate a location inside a data structure, rather than the data itself. For example, consider a simple binary tree type: