When you include a file inside a module definition, all the contents of that file is loaded into the module scope. So, you have modules Main.ModuleA.MyParams
and Main.MyParams
, which the system considers different.
There have been discussions recently on how to organize code in such cases, you may find and try different suggestions to choose from:
(Writing functions for types defined in another module)
(What is the preferred way to use multiple files?)
Also, please see this topic (Please read: make it easier to help you) for tips on formatting.