fails:IO#print writes $_.to_s followed by $\ (if any) to the stream if no arguments given
fails:IO#print calls obj.to_s and not obj.to_str then writes the record separator
fails:IO#print writes each obj.to_s to the stream and appends $\ (if any) given multiple objects
fails:IO#print raises IOError on closed stream
