Behaves as print, but operates on a StringBuilder.
If string is non-null then it is appended to and returned. Else, a new empty 
            StringBuilder is allocated and it is returned.
| this | a Variant | 
| type_annotate | true if type information should be included in the output | 
| string | a StringBuilder, or null | 
| a StringBuilder containing the string |