anchor.diff:  -record(future, {
       durability :: undefined | durability(),
       driver :: undefined | datastore:driver(),
  -    value :: {ok, doc()} | {error, term()} | couchbase_pool:future()
  +    value :: {ok, doc()} | {error, term()} | couchbase_pool:future(),
  +    ctx
   }).
   
   -type ctx() :: datastore:ctx().
  
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.
  