# What is the best way to get it to put out a, b, c # without erroring about the superclass. The module # inclusion order should not matter. In other words, # I should be able to include A then B or B then A # and either way all the letters a, b, and c are # printed out (though not necessarily in that exact order) require 'pp' module Z def foo; end end module A def foo super puts 'a' end end module B def foo super puts 'b' end end class C include Z include A include B def foo super puts 'c' end end C.new.foo