Defining to_s works oddly?

Thanks for your explanations everyone, I now feel like I do understand the whole to_s/to_str situation and why things are the way they are a lot better! Which will hopefully make it much easier to remember...