anchor.diff:    process_registration_result(Module:register(), Name, Nodes).
   
   
  --spec process_registration_result(ok | error, Name :: atom(), Nodes :: [node()])
  +%%--------------------------------------------------------------------
  +%% @private
  +%% @doc
  +%% Step 6: Evaluate the response returning ok or error.
  +%% @end
  +%%--------------------------------------------------------------------
  +-spec process_registration_result(ok | error,
  +                                  Name :: atom(),
  +                                  Nodes :: [node()])
       -> ok | error.
  -%% @private
  -%% @doc Step 6: Evaluate the response returning ok or error.
  -%% @end
  -%%
   process_registration_result(ok, Name, Nodes) ->
     autocluster_log:debug("Registered node with ~p.", [Name]),
     {ok, Nodes};
   process_registration_result({error, Reason}, Name, _) ->
  -  autocluster_log:error("Error registering node with ~p: ~p.", [Name, Reason]),
  +  autocluster_log:error("Error registering node with ~p: ~p.",
  +                        [Name, Reason]),
     error.
   
   
  +%%--------------------------------------------------------------------
  +%% @private
  +%% @doc
  +%% Phase Two (Step 7): If nodes are returned from service discovery
  +%% check to ensure that the node is part of the RabbitMQ cluster with
  +%% them. If it isn't join the cluster. If the service discovery
  +%% registration check failed, return an error.
  +%% @end
  +%%--------------------------------------------------------------------
   -spec maybe_cluster_node({ok, [node()] | error}) -> ok | error.
  -%% @private
  -%% @doc Phase Two (Step 7): If nodes are returned from service discovery
  -%%      check to ensure that the node is part of the RabbitMQ cluster with them.
  -%%      If it isn't join the cluster. If the service discovery registration
  -%%      check failed, return an error.
  -%% @end
  -%%
   maybe_cluster_node({ok, Nodes}) ->
     autocluster_log:debug("Discovered ~p", [Nodes]),
     ensure_clustered(Nodes);
  
positive.code:   Duration = random:uniform(Max),
    autocluster_log:info("Delaying startup for ~pms.", [Duration]),
    timer:sleep(Duration).
  
negative.code:   maybe_register(Nodes, Name, Module).
  
  
  %%--------------------------------------------------------------------
  %% @private
  %% @doc
  %% Step 4: evaluate the node list to determine if the node should be
  %% registered, passing the info off to step five if so.
  %% @end
  %%--------------------------------------------------------------------
  -spec maybe_register({ok, [node()]} | {error, atom()},
    Name :: atom(),
    Module :: module()) -> ok | error.
  maybe_register({ok, Nodes}, Name, Module) ->
    maybe_register_non_member_node(lists:member(node(), Nodes),
                                   Name, Module, Nodes);
  maybe_register({error, Reason}, _, Module) ->
    autocluster_log:error("Could not fetch node list from ~p: ~p.",
                          [Module, Reason]),
    error.
  
  
  %%--------------------------------------------------------------------
  %% @private
  %% @doc
  %% Step 5: If the node is already registered, move on to the next
  %% phase, if not, register it with the backend passing the response
  %% to step six.
  %% @end
  %%--------------------------------------------------------------------
  -spec maybe_register_non_member_node(true | false,
    Name :: atom(),
    Module :: module(),
    Nodes :: [node()]) -> ok | error.
  maybe_register_non_member_node(true, _, _, Nodes) ->
    {ok, Nodes};
  maybe_register_non_member_node(false, Name, Module, Nodes) ->
  