Maybe you know this, but Julia doesn’t care what files your code lives in, nor what folders those live in, include
is just like pasting the code into that file. (I forget whether there are edge cases, but this is the rough idea.) So you can split or combine them in whatever way you like.
But it does care about module
a lot. And generally you shouldn’t be making sub-modules within other modules without a good reason. You appear to have two sub-modules main.structs
and main.functions.structs
which just happen to be defined with identical source code.