dblack / wobblini.net wrote: > It sounds like you're talking about class, rather than type, or > (since, as you say, to_x doesn't actually have to return an X) just a > kind of convenience method-call layer. I'd rather see the methods > spelled out. No, I don't mean class -- I think of "type" as the context of an object, one that cannot always be deducted by it's methods: phone.call method.call these two #call methods are in different contexts -- I think of the #to_* methods as a way to determine that context. If I call #to_a on an object, I expect the result to be an array -- I could've just called #[] and what not on the original object, but that would require that the object only used #[] the same way an array does. By using the #to_* methods, objects can be in several different contexts. At least that's how I see it. Daniel