>>>>> "P" == Phil Tomson <ptkwt / shell1.aracnet.com> writes:

P> person.unextend Student (?)

 Well, it's easy to write it in C but there is a problem.

 With this example

   module A end
   module B include A end
   class D; include B end


 probably in this case you want to remove B and A when you call `unextend(B)'

 but with

   module A end
   module B include A end
   module C include A end
   class D; include B; include C end

 now when you call `unextend(B)' do you really want to remove `A' ?

 In this case, you have lost the information that the module A was provided
 by B and C


Guy Decoux