I am working on an article on the subject of implementing dynamically typed languages on the .net CLR. In .net Types are immutable, ie. once defined they cannot be changed. Writing about this I needed to cover the problem of namespace collisions. Most modern languages including ruby has introduced namespaces to alleviate the namespace collision problem, but the convention of adding your own methods to existing classes reintroduces the problem. Is ruby merely being pragmatic by allowing you to do this, because it seldom causes any real problems? Or is it inherently wrong and should not be permitted by the language/object model? How do you feel about this feature. Would it be a big loss if ruby didn't support it? My own feelings are ambivalent. I have found myself adding features to Time, Enumerable, Module and when I do it I always appreciate how nice it is that the feature is where it belongs, but I always have this nagging fear of collisions that I push to the back of my mind. Curious Tom