Behaves as Variant.print, but operates on a GString
If string is non-NULL then it is appended to and returned. Else,
a new empty GString is allocated and it is returned.
a GString, or NULL
TRUE if type information should be included in
a GString containing the string