fails:StringIO.open when passed [Object, mode] sets self's string to nil after yielding
fails:StringIO.open when passed [Object, mode] even sets self's string to nil when an exception is raised while yielding
fails:StringIO.open when passed [Object, mode] raises a TypeError when passed a frozen String in truncate mode as StringIO backend
