For example, consider two data structures of some abstract type. The latter application enforces, that the second pickle is compatible to the first. If loading succeeds, it is guaranteed that this is in fact the case, otherwise a Package. Mismatch exception will occur. A current implementation limitation in the treatment of runtime types of Alice may lead to unexpected results in connection with sharing, if the signatures passed to the Save functor are not specified carefully.
Pickles are closely related to components .
Such a component only contains the fully evaluated export, it will not be executed during load. This in particularly means that loading it will neither generate any side effects, nor produce new generative entities like types or exceptions. An evaluated component also does not import any other component. A pickle is a component that just contains a module X which is the one passed to the Save functor. If necessary, you can thus import a pickle through an import announcement.