anchor.diff:      {ok, Durability, Doc};
   wait(#future{value = {error, Reason}}) ->
       {error, Reason};
  -wait(#future{durability = Durability, driver = Driver, value = Value}) ->
  +wait(#future{durability = Durability, driver = Driver, value = Value, ctx = Ctx}) ->
       case Driver:wait(Value) of
  -        {ok, Doc} -> {ok, Durability, Doc};
  -        {ok, _Cas, Doc} -> {ok, Durability, Doc};
  +        {ok, Doc} ->
  +            case Ctx of
  +                #{sync_enabled := true} ->
  +                    ?info("durability ~p", [{Driver, Durability, Doc, Ctx}]);
  +                _ ->
  +                    ok
  +            end,
  +            {ok, Durability, Doc};
  +        {ok, _Cas, Doc} ->
  +            case Ctx of
  +                #{sync_enabled := true} ->
  +                    ?info("durability ~p", [{Driver, Durability, Doc, Ctx}]);
  +                _ ->
  +                    ok
  +            end,
  +            {ok, Durability, Doc};
           {error, Reason} -> {error, Reason}
       end;
   wait(Futures) when is_list(Futures) ->
  
positive.code: 
  -include("exometer_utils.hrl").
  -include("modules/datastore/datastore_models.hrl").
  
  %% API
  -export([get/2, fetch/2, save/1, save/3]).
  
negative.code: 
      case MemoryDriver:get(MemoryCtx, Key) of
          {ok, Doc} ->
              ?FUTURE(disc, DiscDriver, DiscDriver:save_async(DiscCtx, Key, Doc))#future{ctx = Ctx};
          {error, Reason} ->
              ?FUTURE(memory, MemoryDriver, {error, Reason})
      end.
  