> they are both about building an iterator function neither of which is ever called in those projects
Alex, I want to clarify that this is incorrect. Meander does, in fact, use the `iter` function via generated macro code to implement some semantics a bit more easily (simpler code generation) in some situations. While I've since realized an opportunity to implement this without `iter`, at the time I didn't have that solution and `iter` solved my problem.
You acknowledge these cases exist and this is the reason some Clojure internals haven't been "locked away". You acknowledge the provided JVM implementation of `iter` given by Wilker is "perfectly fine". Yet you don't think it should be part of the public API or a good idea but you don't give a clear reason why these are your thoughts.
> I do not think `iterator` is a function that should be widely used or promoted
I agree. Many functions in core exist which are not widely used nor promoted but nevertheless are there for their utility. In other words, how promotable or how wide the use case is can't be the reason for excluding `iter`.
> Iterators, in general, are very un-clojurey.
This is an exclusive, essentialist position. Its like, your opinion, man. :^)
Clojure includes numerous opportunities to use "stateful and generally not concurrency friendly" things in the core library and, to your point, makes those things accessible on purpose. So whatever "clojurey" includes, from where I'm sitting, it seems include those "un-clojurey" things.
Now, let me ask, what is the arbitrary criteria a function must meet before "should" be considered?