I think my question is really a symptom of a bigger problem; namely that I could really use some direction in how to properly think through the design of my intended software.
But in the stage where I am right now, I have code from different packages calling each other, making the packages co-dependent, as it were, and I wonder if this is a bad style/smell/practice. (I have, at the back of my mind, the notion that dependencies should be uni-directional, and packages ordered in a tree).
If so, are there any guidelines with regards to the do- and do-not-do practices of organizing software in packages?
(In my case it's Go, but could be Rust, Java, etc.)