Packaging code and making it available for people and programs to use is a key part of making the best use of F#. In this book, you've already seen many of the constructs to help do this: functions, objects, type definitions, modules, namespaces, and assemblies. However, in some cases you've encountered these only peripherally when using the .NET Base Class Library (BCL). This chapter covers these constructs from the perspective of code organization and packaging.
Packaging code has four distinct but related meanings:
Organizing code into sensible entities using namespaces, types, and modules.
Encapsulating internal data structures and implementation details by making them private.
Assembling code and ...