>> So they are doing the same thing, but you call to_str >> when you want to make an implicit assertion that what you >> have is something you should be doing string operations >> with, and not just something that (like everything) can >> be described in text. I just got back from vacation, and wanted to make sure I "got" the conclusion of this thread. To put it in my own words: to_str converts an object into a string representation of that object, which is assumed to be usable as a value for further processing. to_s converts an object into a string description of that object, such as for printing. In some cases (String, Numeric) they are the same. But for a complex object that contains many values there would often be no way for to_str to return anything meaningful. to_s, on the other hand could do a dump like inspect does, or could just return the semantic "name" or "id" of the object. Right? Kevin