Is there anything inherently wrong with mutually reliant custom modules?
From wikipedia on "modular programming"


  Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules


If you have two modules, and they depend on each other, they are no longer independent, and in fact, are no longer two modules, but one.
At least in theory, that's a bad thing, because you can no longer make changes to one, without changing the other.

Sooner or later, you'll also likely find that this becomes a practical problem, because as the module grows, it becomes increasingly difficult to keep up appearances of an external interface. Both modules are calling functions in both modules, and again, you can no longer change one without also updating the other.