Why doesn't Appender overload opCatAssign? It would be almost trivial to replace usage of existing arrays with Appender, instead of having to replace all calls with var.put().
And why doesn't it overload toString? You can't print its contents to stdout like you can with slices. And why can't you slice an Appender? I see a lot of drawbacks with the only benefit being performance. Now, if Appender had some syntax sugar to make it appear as if it were a simple dynamic array (well, slice..), that would be sweet and would encourage its use, at least with me. Otherwise it just looks ugly compared to the sexy D arrays. It looks like everything is becoming a template in a library these days..