А дерево по ссылке какое-то убогое :) К тому же и "батареек" толком никаких не предоставляет - ни тебе обойти, ни максимум не найти, ни смержить два дерева. Впрочем, в эльме всё так - тайпклассов то нет! Поэтому любая реализация дерева или любого другого контейнера должна иметь и собственные реализации для всего багажа операций над контейнером.
Но этот зиппер опять вместе со своей реализацией дерева идет (нормаьной, кстати), но, повторюсь, обобщенный zipper в эльме просто так не написать (на самом деле можно, если реализовать zipper-протокол в виде рекорда)