of course, this is a very naive example??? but it is the core of what you are describing in the post, if i understand your post correctly. note that i don???t need an explicit interface construct or a static type system, though. ruby is a typed language and i can do things with types in a manner that is similar to what you describe.