anchor.diff:                           Pid       -> not is_process_alive(Pid)
                        end
                end);
  -wait_for_process_to_die(Pid) ->
  +wait_for_process_to_die(Pid) when is_pid(Pid) ->
       wait_for(fun() -> not is_process_alive(Pid) end).
   
   -spec wait_for_table_to_disappear(Pid::pid(), tid() | atom()) -> ok.
  
positive.code:               wait_for_process_to_die(Pid),
                _ = [ wait_for_table_to_disappear(Pid, Tab) || Tab <- Tables ],
                supervisor:delete_child(SupPid, Id)
            end ||  {Id, Pid, Type, _Module} <- ChildSpecs,
                    Pid =/= undefined ],
      ok.
  
  -spec wait_for(fun(() -> any())) -> ok.
  
negative.code:                   _ -> ok
                end
            end ||  {_Id, Pid, _Type, _Module} <- ChildSpecs,
                    Pid =/= undefined, is_process_alive(Pid) ],
      _ = [ try
                case Type of
                    supervisor ->
                        supervisor_terminate_childs(Pid);
  