anchor.diff:  -define(Threshold, 5).
   
   -define(StartChildTimeout, 6000).
  +
  +-record(child_state, {pid, id, spec}).
   
   %%%===================================================================
   %%% API functions
  
positive.code: start_child(ChildSpec, Threshold, Acc) ->
      case start_child(ChildSpec) of
  	{ok, Pid, ChildSpec} ->
  	    ?Supervisor ! {ok, Pid, ChildSpec};
  	{error, child_not_started, ChildSpec} ->
  	    io:format("~p. Child for Spec '~p' was not started. Supervisor is trying again.~n", [Acc + 1, ChildSpec]),
  	    receive after round(?StartChildTimeout / ?Threshold) -> ok end,
  
negative.code: 	{start_children, ChildSpecList} ->
  	    start_children(ChildSpecList),
  	    loop({Timeout, ChildList});
  	{ok, child_started, Child} ->
  	    io:format("Child for Spec '~p' is started.~n", [Child#child_state.spec]),
  	    NewChildList = [Child|ChildList],
  	    loop({Timeout, NewChildList});
  	{error, child_not_started, ChildSpec} ->
  	    io:format("Child for spec ~p cannot be started.~n", [ChildSpec]),
  