anchor.diff:  
   %% @private
   -spec handle_info(term(), #state{}) -> {noreply, #state{}}.
  +handle_info(memory_report, State) ->
  +    %% Log
  +    memory_report(),
  +
  +    %% Schedule report.
  +    schedule_memory_report(),
  +
  +    {noreply, State};
   handle_info(Msg, State) ->
       _ = lager:warning("Unhandled messages: ~p", [Msg]),
       {noreply, State}.
  
positive.code:             _ = lager:error("Failed to initialize backend: ~p", [Reason]),
              {error, Reason}
      end,
      {ok, #state{actor=Actor, counter=Counter, store=Store, gc_counter=GCCounter}}.
  
  %% @private
  
negative.code: declare_if_not_found(Result, _Id, _State, _Module, _Function, _Args) ->
      Result.
  
  %% @private
  schedule_memory_report() ->
      erlang:send_after(?MEMORY_INTERVAL, self(), memory_report).
  
  %% @private
  memory_report() ->
      MemoryData = {_, _, {BadPid, _}} = memsup:get_memory_data(),
      _ = lager:info(""),
      _ = lager:info("-----------------------------------------------------------", []),
      _ = lager:info("Allocated areas: ~p", [erlang:system_info(allocated_areas)]),
      try
          _ = lager:info("Worst: ~p", [process_info(BadPid)]),
          ok
      catch
          _:_ ->
              %% Process might die while trying to get info.
              ok
      end,
      _ = lager:info("Memory Data: ~p", [MemoryData]),
      _ = lager:info("System memory data: ~p", [memsup:get_system_memory_data()]),
      _ = lager:info("-----------------------------------------------------------", []),
      _ = lager:info("").
  
  -ifdef(TEST).
  
  do(Function, Args) ->
  