Conversation

we should really stop using C# namespaces and start using static classes as ‘modules’ you can import qualified: using Renamed = SomeModule; or you can import unqualified: using static SomeModule;
2
3
yes, you can nest types, but there’s no facility to abstract over this; e.g. you can’t put an interface on a static type and there’s also no way to have an associated type in an interface
1
2
I haven’t used any real MLs ... I remember a talk at Yow! a few years ago where someone was approaching the same issue from the OOP side and making all modules objects, but I can’t remember the speaker or the name of the language
1