anchor.diff:      {ok, gb_sets:to_list(ReadableNodeSet), gb_sets:size(BlackSet)}.
   
   -spec do_choose_write_nodes([node_info()], non_neg_integer(), [node()], [node()]) ->
  -                                   {'ok', [node()]}.
  +                                   {ok, [node()]}.
   do_choose_write_nodes(Nodes, K, Exclude, BlackList) ->
       % Node selection algorithm:
       % 1. try to choose K nodes randomly from all the nodes which have
  
positive.code:                 read_blacklist    = []                :: [node()],
                  gc_blacklist      = []                :: [node()],
                  safe_gc_blacklist = gb_sets:empty()   :: gb_set(),
                  gc_stats          = none              :: 'none' | {gc_stats(), erlang:timestamp()}}).
  -type state() :: #state{}.
  -type replyto() :: {pid(), reference()}.
  
  
negative.code: %% internal functions
  
  -spec do_get_readable_nodes([node_info()], [node()]) ->
                                     {ok, [node()], non_neg_integer()}.
  do_get_readable_nodes(Nodes, ReadBlacklist) ->
      NodeSet = gb_sets:from_ordset(lists:sort([Node || {Node, _} <- Nodes])),
      BlackSet = gb_sets:from_ordset(ReadBlacklist),
  