Loading of a pickle may fail for several reasons. The pickle format may be erroneous, which causes a Corrupt exception. Or the pickles's signature may not match the one passed to the Load functor. In that case, the exception Package. Mismatch will be raised.
Pickled modules can contain abstract types.
Sometimes it is necessary to express sharing between abstract types of different pickles. 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.