anchor.diff:    catch edis_db:run(
       edis_db:process(0),
       #edis_command{cmd = <<"SADD">>, args = [?KEY | Keys],
  -                  group = sets, result_type = number}).+                  group = sets, result_type = number}).
  +
  +-spec scard([binary()]) -> pos_integer().
  +scard(_Keys) ->
  +  catch edis_db:run(
  +    edis_db:process(0),
  +    #edis_command{cmd = <<"SCARD">>, args = [?KEY], group = sets, result_type = number}).
  +
  +-spec sdiff([binary()]) -> [binary()].
  +sdiff(_Keys) ->
  +  catch edis_db:run(
  +    edis_db:process(0),
  +    #edis_command{cmd = <<"SDIFF">>, args = [?KEY, ?KEY2], group = sets, result_type = multi_bulk}).
positive.code: quit_per_testcase(_Function) -> ok.
  
  -spec init_per_round(atom(), [binary()]) -> ok.
  init_per_round(_Fun, _Keys) ->
    _ = edis_db:run(
          edis_db:process(0),
  
negative.code: -behaviour(edis_bench).
  
  -define(KEY, <<"test-set">>).
  -define(KEY2, <<"test-set2">>).
  
  -include("edis.hrl").
  
  -export([all/0,
           init/0, init_per_testcase/1, init_per_round/2,
           quit/0, quit_per_testcase/1, quit_per_round/2]).
  -export([sadd/1, scard/1, sdiff/1]).
  
  %% ====================================================================
  %% External functions
  