anchor.diff:  -export([init_bucket/3, healthcheck/1, init_driver/1]).
   -export([save/2, create/2, update/3, create_or_update/3, exists/2, get/2, list/3, delete/3]).
   -export([add_links/3, delete_links/3, fetch_link/3, foreach_link/4]).
  --export([links_key_to_doc_key/1]).
  +-export([links_doc_key/1, links_key_to_doc_key/1]).
   
   -export([start_gateway/4, force_save/2, db_run/4]).
   
  
positive.code: %%--------------------------------------------------------------------
  -spec add_links(model_behaviour:model_config(), datastore:ext_key(), [datastore:normalized_link_spec()]) ->
      ok | datastore:generic_error().
  add_links(#model_config{bucket = Bucket} = ModelConfig, Key, Links) when is_list(Links) ->
      case get(ModelConfig, links_doc_key(Bucket, Key)) of
          {ok, #document{value = #links{link_map = LinkMap}}} ->
              add_links4(ModelConfig, Key, Links, LinkMap);
          {error, {not_found, _}} ->
  
negative.code: %%--------------------------------------------------------------------
  -spec delete_links(model_behaviour:model_config(), datastore:ext_key(), [datastore:link_name()] | all) ->
      ok | datastore:generic_error().
  delete_links(#model_config{bucket = _Bucket} = ModelConfig, Key, all) ->
      delete(ModelConfig, links_doc_key(Key), ?PRED_ALWAYS);
  delete_links(#model_config{bucket = _Bucket} = ModelConfig, Key, Links) ->
      case get(ModelConfig, links_doc_key(Key)) of
          {ok, #document{value = #links{link_map = LinkMap}}} ->
              delete_links4(ModelConfig, Key, Links, LinkMap);
          {error, {not_found, _}} ->
  