Pro: it works
Con: Good API would not require reinterpret_cast here and there.
There are no obvious template instantiations, e.g. for vector<char> .
User is forced to use string and adjust to available.
Using new for containment where nested object will do.
Documentation is rarely useful, user has to find working examples on the net.