fails:Module#prepend calls #prepend_features(self) in reversed order on each module
fails:Module#prepend raises a TypeError when the argument is not a Module
fails:Module#prepend imports instance methods
fails:Module#prepend allows wrapping methods
fails:Module#prepend also prepends included modules
fails:Module#prepend prepends multiple modules in the right order
fails:Module#prepend includes prepended modules in ancestors
fails:Module#prepend sees an instance of a prepended class as kind of the prepended module
fails:Module#prepend keeps the module in the chain when dupping the class
fails:Module#prepend keeps the module in the chain when dupping an intermediate module
fails:Module#prepend inserts a later prepended module into the chain
fails:Module#prepend works with subclasses
fails:Module#prepend calls prepended after prepend_features
fails:Module#prepend detects cyclic prepends
fails:Module#prepend returns the class it's included into
fails:Module#prepend clears any caches
