anchor.diff:  %%% Returns: {ok, state()} | {shutdown, state()}
   %%% ---------------------------------------------------
   
  -restart_child(Pid, Reason, State) when ?is_simple(State) ->
  -    case ?DICT:find(Pid, State#state.dynamics) of
  +restart_child(Pid, Reason, #state{children = [Child]} = State) when ?is_simple(State) ->
  +    RestartType = Child#child.restart_type,
  +    case dynamic_child_args(Pid, dynamics_db(RestartType, State#state.dynamics)) of
   	{ok, Args} ->
  -	    [Child] = State#state.children,
  -	    RestartType = Child#child.restart_type,
   	    {M, F, _} = Child#child.mfargs,
   	    NChild = Child#child{pid = Pid, mfargs = {M, F, Args}},
   	    do_restart(RestartType, Reason, NChild, State);
  
positive.code: -record(state, {name,
  		strategy               :: strategy(),
  		children = []          :: [child()],
  		dynamics = ?DICT:new() :: ?DICT(),
  		intensity              :: non_neg_integer(),
  		period                 :: pos_integer(),
  		restarts = [],
  
negative.code: 	    {reply, {error, not_found}, State}
      end;
  
  handle_call(which_children, _From, #state{children = [#child{restart_type = temporary,
  							     child_type = CT,
  							     modules = Mods}]} =
  		State) when ?is_simple(State) ->
      Reply = lists:map(fun(Pid) -> {undefined, Pid, CT, Mods} end, dynamics_db(temporary,
  									      State#state.dynamics)),
      {reply, Reply, State};
  
  handle_call(which_children, _From, #state{children = [#child{restart_type = RType,
  							 child_type = CT,
  							 modules = Mods}]} =
  		State) when ?is_simple(State) ->
      Reply = lists:map(fun({Pid, _}) -> {undefined, Pid, CT, Mods} end,
  		      ?DICT:to_list(dynamics_db(RType, State#state.dynamics))),
      {reply, Reply, State};
  
  handle_call(which_children, _From, State) ->
  