Add writeObject_ helper that checks if obj.toString returns a String before writing it, falling back to "[invalid toString]" otherwise. Update print, write, and printList_ to use the new helper instead of calling toString directly. Include test cases for both IO.print and IO.write with a class whose toString returns an integer.