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