To explain stuff to imperative programmers, you need to adopt the operational perspective. Spell out what&#x27;s actually in memory at any given time, what gets executed after what, where the allocations happen, what&#x27;s left for the GC to pick up, etc. If you tell them that zippers &quot;rewire the pointers&quot;, they will get rightly confused, because rewiring existing pointers is impossible in pure code. Zippers allocate new pointers instead. That&#x27;s what you should say.