Ответ 1
Если вы публикуете компоненты F # для потребления с других языков .Net, вам следует избегать модулей в общедоступных интерфейсах и придерживаться пространств имен, содержащих классы, структуры и перечисления.
(Модули - это удобный способ опубликовать значения, функции и типы среди F # -онных компонентов или как "внутренние" детали реализации компонента F #, который публикует классы .NET.)
(см. также этот вопрос для обсуждения "технического различия" между пространствами имен и модулями. Этот вопрос и мой ответ выше относятся к "преднамеренным различиям" 'например, когда вы решите использовать их.)