anchor.diff:  %% @doc Client process; standard recurisve looping server.
   client(Runner, Id, AdsWithContracts, PreviousValue) ->
       receive
  +        terminate ->
  +            ok;
           view_ad ->
               %% Get current ad list.
               {ok, {_, _, _, AdList0}} = lasp:read(AdsWithContracts, PreviousValue),
  
positive.code:                     client(Runner, Id, AdsWithContracts, AdList0)
              end
      end.
  
  %% @doc Simulate clients viewing advertisements.
  simulate(_Runner, ClientList) ->
  
negative.code:     %% Wait until we receive num events.
      wait_for_events(1, ?NUM_EVENTS),
  
      %% Terminate all clients.
      terminate(ClientList),
  
      %% Finish and summarize.
      summarize(AdList),
  
  