2. joiner uses an idiom that I've experimented with in the past: it
defines a local struct and returns it. As such, joiner's type is
impossible to express without auto. I find that idiom interesting for
many reasons, among which the simplest is that the code is terse,
compact, and doesn't pollute the namespace. I'm thinking we should do
the same for Appender - it doesn't make much sense to create an Appender
except by calling the appender() function.
Didn't know there was a solution to namespace pollution.
This one is a very nice idea, are you planning to use it in phobos in
general?
Retro, Stride... there should be many.