> (fz-node-seq x) is just (tree-seq coll? seq x)
Good Point! I had never noticed the parallels between tree-seq and
zippers, but it's obvious when you point it out. Thanks for
mentioning that.
> (personally I don't have enough experience to be comfortable with
> them),
yeah, i haven't found a great use case for zippers yet either. but
lately I've been experimenting with using them to write more readable
code transforms. hence the need for form-zip.
Like clojure.walk, but with the ability to backtrack.
> fz-node-seq doesn't seem useful.
Ouch! Ok, here's one that is. As you astutely noted above,
fz-node-seq is functionally equivalent to (tree-seq coll? seq x), but
what's interesting about it is, it is implemented like so:
(map zip/node (fz-loc-seq form))
What's "useful" there is the call to fz-loc-seq which provides
a seq of every zipper loc in the form. Useful again for code
transforms, I think.
Thanks again for exercising my brain cells. I haven't forgotten that
beer I owe you.