A call to ppstring ppf x will call the pretty-printing function
ppf on value x, with the pretty-printing output stored in the
string that is eventually returned to the user. The linewidth used for
determining when to wrap with newline characters is given by the
reference Globals.linewidth (typically 72).
Fails if the pretty-printing function fails on the particular input
> ppstring PP.add_string "hello"
val it = "hello": string
The returned string may contain unwanted terminal-specific escape codes,