
  -spec load_module(Module, Binary) -> {module, Module} | {error, Reason}
                       when
                           Module :: module(),
                           Binary :: binary(),
                           Reason :: badfile | not_purged | on_load.

  If Binary contains the object code for module Module, this BIF
  loads that object code. If the code for module Module already
  exists, all export references are replaced so they point to the
  newly loaded code. The previously loaded code is kept in the
  system as old code, as there can still be processes executing that
  code.

  Returns either {module, Module}, or {error, Reason} if loading
  fails. Reason is one of the following:

  badfile:
    The object code in Binary has an incorrect format or the
    object code contains code for another module than Module.

  not_purged:
    Binary contains a module that cannot be loaded because old
    code for this module already exists.

  on_load:
    The code in Binary contains an on_load declaration that
    must be executed before Binary can become the current code.
    Any previous current code for Module will remain until the 
    on_load call has finished.

  Warning:
    This BIF is intended for the code server (see code(3)) and
    is not to be used elsewhere.
