anchor.diff:      %% this code works fine despite the backwards binding names
       Res = [{V, K} ||  #rpbpair{key=V, value=K} <- Results],
       ?INDEX_STREAM_RESULT{terms=Res};
  -process_index_response(true, Keys, []) ->
  +process_index_response(_, Keys, []) ->
       ?INDEX_STREAM_RESULT{keys=Keys}.
   
   -spec index_stream_result_to_index_result(index_stream_result()) ->
  
positive.code:     {reply, {ok, Results}, State};
  process_response(#request{msg = #rpbindexreq{stream=true, return_terms=Terms, return_body=Body}}=Request,
                   #rpbindexresp{results=Results, keys=Keys, done=Done, continuation=Cont}, State) ->
      ToSend = process_index_response(not just_keys(Terms, Body), Keys, Results),
      _ = send_caller(ToSend, Request),
      DoneResponse = {reply, {done, Cont}, State},
      case Done of
  
negative.code:                 _ -> {pending, State}
      end;
  process_response(#request{msg = #rpbindexreq{return_terms=Terms, return_body=Body}}, #rpbindexresp{results=Results, keys=Keys, continuation=Cont}, State) ->
      StreamResponse = process_index_response(response_type(Terms, Body), Keys, Results),
      RegularResponse = index_stream_result_to_index_result(StreamResponse),
      RegularResponseWithContinuation = RegularResponse?INDEX_RESULTS{continuation=Cont},
      {reply, {ok, RegularResponseWithContinuation}, State};
  