anchor.diff:    database_infos/1,
     connect/1,
     get/3,
  +  multi_get/5,
     put/3,
     put/4,
     post/3,
     post/4,
     delete/3,
     update_with/4,
  +  write_batch/3,
     fold_by_id/4,
     fold_by_path/5,
     changes_since/5
  
positive.code: update_with(Conn, DocId, Fun, Options) ->
    barrel_httpc:update_with(Conn, DocId, Fun, Options).
  
  %% @doc fold all docs by Id
  -spec fold_by_id(Conn, Fun, AccIn, Options) -> AccOut | Error when
    Conn::conn(),
  
negative.code: get(Conn, DocId, Options) ->
    barrel_httpc:get(Conn, DocId, Options).
  
  %% @doc retrieve several documents
  -spec multi_get(Conn, Fun, AccIn, DocIds, Options) -> [Res] when
    Conn::conn(),
    Fun :: fun(({ok, Doc} | {error, any()} ) -> Res),
    AccIn :: any(),
    DocIds :: [docid()],
    Options :: read_options(),
    Doc :: doc(),
    Res :: [{ok, doc(), meta()} | {error, any()}].
  multi_get(Conn, Fun, AccIn, DocIds, Options) ->
    barrel_httpc:multi_get(Conn, Fun, AccIn, DocIds, Options).
  
  %% @doc create or update a document. Return the new created revision
  %% with the docid or a conflict.
  -spec put(Conn, Doc, Options) -> Res when
  