When does the `self.module_name` branch get taken? I.e. shouldn't `mod_path_stack` always have the current module at the end?