Hi, We have recently worked on the OCaml compiler to allow packing compilation units inside a functor. This work extends the current -pack option with a new -pack-functor option, that will generate a compilation unit, containing a functor composed of independent compilation units (compiled with a new -functor option). As we are looking for feedback on the utility of this feature, we have written a small page to release the patch and describe how to use it: http://www.ocamlpro.com/code/2011-08-10-ocaml-pack-functors.html There are also two additional features in the patch: (1) you can use -i on interface files (.cmi) instead of only sources, and (2) you can use -pack to generate an interface file (.cmi) from other interface files. The page has also a link to "ocp-pack", a simple program to pack sources instead of compilation units, to achieve the same result as the -pack and -pack-functor options. Note that, if you have recursive dependencies between compilation units (usually achieved by hidden dependencies between abstract types), you will need a patched OCaml to be able to compile the new source (the patch is also provided). Enjoy and send us some feedback ! Fabrice -- Scientific Advisor for OCamlPro SAS