Why is `Appender`'s store `Data` put directly as `private Data* _data;` instead of `private Data _data;` ? Removing the pointer indirection would give better locality. If it's about optimizing for empty `Appender`s then a `Appender*` should be used in those cases instead.