anchor.diff:  		  State#state.children),
       {reply, Resp, State};
   
  -handle_call(count_children, _From, State) when ?is_simple(State) ->
  -    [#child{child_type = CT}] = State#state.children,
  +
  +handle_call(count_children, _From, #state{children = [#child{restart_type = temporary,
  +							     child_type = CT}]} = State)
  +  when ?is_simple(State) ->
  +    {Active, Count} =
  +	lists:foldl(fun(Pid, {Alive, Tot}) ->
  +			   if is_pid(Pid) -> {Alive+1, Tot +1};
  +			      true -> {Alive, Tot + 1} end
  +		   end, {0, 0}, dynamics_db(temporary, State#state.dynamics)),
  +    Reply = case CT of
  +		supervisor -> [{specs, 1}, {active, Active},
  +			       {supervisors, Count}, {workers, 0}];
  +		worker -> [{specs, 1}, {active, Active},
  +			   {supervisors, 0}, {workers, Count}]
  +	    end,
  +    {reply, Reply, State};
  +
  +handle_call(count_children, _From,  #state{children = [#child{restart_type = RType,
  +							      child_type = CT}]} = State)
  +  when ?is_simple(State) ->
       {Active, Count} =
   	?DICT:fold(fun(Pid, _Val, {Alive, Tot}) ->
   			   if is_pid(Pid) -> {Alive+1, Tot +1};
   			      true -> {Alive, Tot + 1} end
  -		   end, {0, 0}, State#state.dynamics),
  +		   end, {0, 0}, dynamics_db(RType, State#state.dynamics)),
       Reply = case CT of
   		supervisor -> [{specs, 1}, {active, Active},
   			       {supervisors, Count}, {workers, 0}];
  
positive.code: 
  restart(simple_one_for_one, Child, State) ->
      #child{mfargs = {M, F, A}} = Child,
      Dynamics = ?DICT:erase(Child#child.pid, State#state.dynamics),
      case do_start_child_i(M, F, A) of
  	{ok, Pid} ->
  	    NState = State#state{dynamics = ?DICT:store(Pid, A, Dynamics)},
  
negative.code: -spec handle_call(call(), term(), state()) -> {'reply', term(), state()}.
  
  handle_call({start_child, EArgs}, _From, State) when ?is_simple(State) ->
      Child = hd(State#state.children),
      #child{mfargs = {M, F, A}} = Child,
      Args = A ++ EArgs,
      case do_start_child_i(M, F, Args) of
  	{ok, Pid} ->
  	    NState = save_dynamic_child(Child#child.restart_type, Pid, Args, State),
  	    {reply, {ok, Pid}, NState};
  	{ok, Pid, Extra} ->
  	    NState = save_dynamic_child(Child#child.restart_type, Pid, Args, State),
  	    {reply, {ok, Pid, Extra}, NState};
  	What ->
  	    {reply, What, State}
  