anchor.diff:                                  comm:this(), cpaxidrndinterl)
               || X <- Learners],
       %% randomly step through protocol
  -    OldSeed = random:seed(Seed),
       Steps = step_until_decide(Proposers ++ Acceptors ++ Learners, cpaxidrndinterl, 0),
       ct:pal("Needed ~p steps~n", [Steps]),
  -    _ = case OldSeed of
  -            undefined -> ok;
  -            _ -> random:seed(OldSeed)
  -        end,
       _ = [ gen_component:kill(comm:make_local(X))
             || X <- lists:flatten([Proposers, Acceptors, Learners])],
       true.
  
positive.code:     ok.
  
  %% userdevguide-begin paxos_SUITE:random_interleaving_test
  -spec prop_rnd_interleave(1..4, 4..16, {pos_integer(), pos_integer(), pos_integer()})
          -> true.
  prop_rnd_interleave(NumProposers, NumAcceptors, Seed) ->
      ct:pal("Called with: paxos_SUITE:prop_rnd_interleave(~p, ~p, ~p).~n",
             [NumProposers, NumAcceptors, Seed]),
      Majority = NumAcceptors div 2 + 1,
      {Proposers, Acceptors, Learners} =
          make(NumProposers, NumAcceptors, 1, rnd_interleave),
  
negative.code: %% userdevguide-end paxos_SUITE:random_interleaving_test
  
  test_rnd_interleave(_Config) ->
      tester:test(paxos_SUITE, prop_rnd_interleave, _Params = 2, _Iter = 100).
  