anchor.diff:  use_default_options(Hex_String) when is_list(Hex_String) ->
       use_default_options(convert:hex_string_to_padded_binary(Hex_String));
   use_default_options(Swarm_id) when is_binary(Swarm_id) ->
  -    {options,
  -     orddict:from_list( [{swarm_id, Swarm_id},
  -                         {chunk_addressing_method, ?PPSPP_DEFAULT_CHUNK_METHOD},
  -                         {chunk_size, ?PPSPP_DEFAULT_CHUNK_SIZE},
  -                         {content_integrity_check_method, ?PPSPP_DEFAULT_INTEGRITY_METHOD},
  -                         {merkle_hash_tree_function, ?PPSPP_DEFAULT_MERKLE_HASH_FUN},
  -                         {minimum_version, ?PPSPP_RFC_VERSION},
  -                         {supported_version, ?PPSPP_RFC_VERSION}])}.
  +    #{swarm_id                       => Swarm_id,
  +      chunk_addressing_method        => ?PPSPP_DEFAULT_CHUNK_METHOD,
  +      chunk_size                     => ?PPSPP_DEFAULT_CHUNK_SIZE,
  +      content_integrity_check_method => ?PPSPP_DEFAULT_INTEGRITY_METHOD,
  +      merkle_hash_tree_function      => ?PPSPP_DEFAULT_MERKLE_HASH_FUN,
  +      minimum_version                => ?PPSPP_RFC_VERSION,
  +      supported_version              => ?PPSPP_RFC_VERSION}.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %% @doc Provides standard options from the PPSPP RFC as erlang terms.
  
positive.code: 
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% @doc Unpack PPPSPP options as encoded in wire format into erlang terms.
  -spec unpack(binary()) -> {binary(), options()} | {error, atom()}.
  unpack(Maybe_Options) ->
      {Maybe_Messages, Options} = unpack(Maybe_Options, orddict:new()),
      {Maybe_Messages, {options, Options}}.
  -spec unpack(binary(), options_dict()) -> { binary(), options_dict()}.
  unpack( <<?PPSPP_SUPPORTED_VERSION,
            Version:?BYTE,
            Maybe_Options/binary >>, Options0) ->
      Options = orddict:store(supported_version, Version, Options0),
      unpack(Maybe_Options, Options);
  unpack( <<?PPSPP_MINIMUM_VERSION,
            Version:?BYTE,
            Maybe_Options/binary >>, Options0) ->
      Options = orddict:store(minimum_version, Version, Options0),
      unpack(Maybe_Options, Options);
  unpack( <<?PPSPP_SWARM_ID_LENGTH,
            Length:?WORD,
            Swarm_ID:Length/binary,
            Maybe_Options/binary >>, Options0) ->
      Options = orddict:store(swarm_id, Swarm_ID, Options0),
      unpack(Maybe_Options, Options);
  unpack( <<?PPSPP_INTEGRITY_CHECK_METHOD,
            Maybe_Method:?BYTE,
            Maybe_Options/binary >>, Options0) ->
      Method = case Maybe_Method of
                   0 -> no_integrity_protection;
                   1 -> merkle_hash_tree;
                   2 -> sign_all;
                   3 -> unified_merkle_hash_tree
               end,
      Options = orddict:store(content_integrity_check_method, Method, Options0),
      unpack(Maybe_Options, Options);
  unpack( <<?PPSPP_MERKLE_HASH_FUNCTION,
            Maybe_Hash_Function:?BYTE,
            Maybe_Options/binary >>, Options0) ->
      Hash_Function = case Maybe_Hash_Function of
                          0 -> sha;
                          1 -> sha224;
  
negative.code: %% in hex. Blank swarm options are used for starting peer_workers that may
  %% handle many peer swarms concurrently on different channels. It returns:
  %% <pre lang="erlang">
  %% options => #{
  %%        chunk_addressing_method => chunking_32bit_chunks,
  %%        chunk_size => 1024,
  %%        content_integrity_check_method => merkle_hash_tree,
  %%        merkle_hash_tree_function => sha256,
  %%        minimum_version => 1,
  %%        supported_version => 1,
  %%        swarm_id => << ... >>}.
  %% </pre>
  -spec use_default_options() -> options().
  use_default_options() ->
  