Just saying, I've looked at Factor (http://www.factorcode.org/) and I like what little I've seen of its OO mechanism. For example, when you call add (which adds the top element of the stack to the end of a sequence underneath), it ends up calling whatever add method the sequence defines.
In Arc, this would translate into the ability to define your own sequence type, and you could have your own definitions for operations like cut within the type definition.