anchor.diff:          _:_ ->
               undefined
       end.
  +
  +wait_until(Fun, Retry, Delay) when Retry > 0 ->
  +    Res = Fun(),
  +    case Res of
  +        true ->
  +            ok;
  +        _ when Retry == 1 ->
  +            {fail, Res};
  +        _ ->
  +            timer:sleep(Delay),
  +            wait_until(Fun, Retry-1, Delay)
  +    end.
  
positive.code:             SortedMembers = lists:usort(Members),
              case SortedMembers =:= SortedNodes of
                  true ->
                      ok;
                  false ->
                      ct:fail("Membership incorrect; node ~p should have ~p but has ~p", [Node, Nodes, Members])
              end
      end,
  
      %% Verify the membership is correct.
      lists:foreach(VerifyFun, Nodes),
  
      %% Verify forward message functionality.
      lists:foreach(fun({_Name, Node}) ->
  
negative.code: init_per_group(_, _Config) ->
      _Config.
  
  end_per_group(_, _Config) ->
      ok.
  
  