Requested module was required recursively

I have no clue why it would be required recursively…

Module script (The part where I require the modules):

self.ModuleGroup = nil
	
	if game.Players.LocalPlayer ~= nil then 
		self.ModuleGroup = self.ReplicatedStorage.Modules
		self.Player = game.Players.LocalPlayer
	else
		self.ModuleGroup = self.ServerScriptService.ServerMain
	end
	
	self.Modules = {}
	
	for _, Module in pairs(self.ModuleGroup:GetDescendants()) do 
		if Module.ClassName == "ModuleScript" then 
			self.Modules[Module.Name] = require(Module)
		end
	end
	
	for _, Module in pairs(self.ReplicatedStorage.Modules.Universal:GetDescendants()) do 
		if Module.ClassName == "ModuleScript" and Module.Name ~= script.Name then 
			print(Module)
			self.Modules[Module.Name] = require(Module)
		end
	end

In my Server scripts, Local script, and my module scripts I have this:

local EncyclopediaModule = require(game:GetService("ReplicatedStorage").Modules.Universal.Encyclopedia)
local Encyclopedia = EncyclopediaModule.Initialize()

Yeaaaa, this feature really sucks. You are getting this error because of this:
Example:

module1

module2

if you require() module1 with module2 it should work, but if you require() module1 to module2 and require() module2 to module1 it does not work.

Alright, I understand what you are saying. I tried to fix it, maybe I was doing it wrong, so I just scraped it.

Code:

	for _, Module in pairs(self.ModuleGroup:GetDescendants()) do 
		print(self.ModuleGroup)
		if Module.ClassName == "ModuleScript" then 
			self.Modules[Module.Name] = require(Module) -- Error on this line!
		end
	end

Error:
https://gyazo.com/ada1b2c3f387489f1e75b16387b3e959 – There are not 8 module script nor are there 2 ServerMain’s.