
On Thu, 12 Aug 2021, Hécate wrote:
Here is the layout I have seen most used:
module ( export1 , export2 ) where
I prefer terminator style, because that simplifies re-ordering of lines: module ( export1, export2, ) where
More generally at the project level, make sure you have a tree with few chokepoints. I encourage you to read this article https://www.parsonsmatt.org/2019/11/27/keeping_compilation_fast.html.
I second to avoid a big Types module. I propose to define one module per major type, name the module after the type, such that you can make use of qualification, like Text.concat, Window.open, Path.join, Matrix.transpose. You may still need Private modules in order to break import cycles and share secret definitions between the modules.