anchor.diff:  % This is more dialyzer friendly than an inline call.
   -spec find_usable([node()], [node()]) -> [node()].
   find_usable(BL, Nodes) ->
  -    lists:filter(fun(N) -> not lists:member(N, BL) end, Nodes).
  +    [N || N <- Nodes, not lists:member(N, BL)].
   
   -spec find_unusable([node()], [node()]) -> [node()].
   find_unusable(BL, Nodes) ->
  -    lists:filter(fun(N) -> lists:member(N, BL) end, Nodes).
  +    [N || N <- Nodes, lists:member(N, BL)].
   
   %% ===================================================================
   %% blob rereplication
  
positive.code:                             % Note that Node could belong to the blacklist; we
                              % still record the replica so that we can use it for
                              % re-replication if needed.
                              NewRecovered = lists:sort([{Node, Vol} | Recovered]),
                              ets:update_element(gc_blobs, BlobName, {3, NewRecovered}),
                              {ok, false}
                      end
  
negative.code:                   when S#state.blacklist =:= [] ->
                      % This is a usable, newly-recovered, lost replica;
                      % record the volume for later use.
                      NewRecovered = [{Node, Vol} | Recovered],
                      ets:update_element(gc_blobs, BlobName, {3, NewRecovered}),
                      {ok, false};
                  {false, false} ->
  