>    class Fred
>      attr_accessor :bert
>
>      def thing
>        a = bert      # uses accessor
>        bert = a + 1  # creates a new local variable called bert
>      end
>     end

THis,

pathology confused me pretty much the first day I was toying around with
ruby  and I did not fully understand why this happens until recently. I
think
there are good reasons to override this  confusing behavior of
Modulo.attr_accessor in Class.attr_accessor.

Christoph