"base" employs some heuristics to determine if a module has already been loaded, if it has it doesn't try again. If "base" tries to "require" the module it will not die if it cannot find the module's file, but will die on any other error. After all this, should your base class be empty, containing no symbols, it will die. This is useful for inheriting from classes in the same file as yourself, like so: