I'm trying to subclass Array, and I'm finding it would be useful to 
be able to use concatenation operators like "+" and "+=". I'm not 
sure how to make it work, though.

The concatenation operators seem to leave your object as an Array, 
not the previous subclass. For example:
-----
class MyClass < Array
   ...
end

object = MyClass.new
object << 1
# object is still type MyClass
object = object + [2, 3, 4]
# object is now type Array
------
Any hints as to how I might retain the type?

Francis