Joel VanderWerf wrote:
> What if you want to reopen _without_ the "around" semantics? Could we 
> have these two variations:
> 
> class Foo < Foo       # <-- This is a type error in 1.8
>   def foo; super; end # AROUND
> end
> 
> class Foo
>   def foo; super; end # REDEFINE
> end

+1

This is brilliant. It's simple, and it perfectly expresses the idea of 
reopening the class to add functionality on top of the existing methods. 
Instead of subclassing a parent class, Foo subclasses itself (sort of 
like Foo=Class.new(Foo)). Just Brilliant.

Daniel