You are incorrect. Most methods inherited as in ActiveRecord can also be mixed in, as another commenter pointed out. This inserts a virtual class into the hierarchy that serves only to include those methods. It also does not interfere with the actual type hierarchy, since methods called in the class body are called against the class object, so they don't need to exist as instance methods.
There's many other ways to do this as well, but basically the idea that executable classes force you to inherit from a specific class is entirely false.
Inheritance is not a problem
You are incorrect. Most methods inherited as in ActiveRecord can also be mixed in, as another commenter pointed out. This inserts a virtual class into the hierarchy that serves only to include those methods. It also does not interfere with the actual type hierarchy, since methods called in the class body are called against the class object, so they don't need to exist as instance methods.
There's many other ways to do this as well, but basically the idea that executable classes force you to inherit from a specific class is entirely false.