Another way of looking at it that&#x27;s nice is that they &quot;rewire the pointers&quot;. If a LL looks a bit like this<p><pre><code>    [1] -&gt; [2] -&gt; [3] -&gt; [4] -&gt; []
</code></pre>
where the [n] location actually represents a data pointer then  stepping into the zipper rearranges some of these...<p><pre><code>    [1] &lt;- [2] -&gt; [3] -&gt; [4] -&gt; []
    [1] &lt;- [2] &lt;- [3] -&gt; [4] -&gt; []
</code></pre>
To be a bit more explicit we should talk about where &quot;we&quot; are<p><pre><code>    * -&gt; [1] -&gt; [2] -&gt; [3] -&gt; [4] -&gt; []
    [1] &lt;- * -&gt; [2] -&gt; [3] -&gt; [4] -&gt; []
    [1] &lt;- [2] &lt;- * -&gt; [3] -&gt; [4] -&gt; []
</code></pre>
etc etc.