anchor.diff:                  true ->
                       {error, empty_connection_pool};
                   _ ->
  -                    ensure_connected(Ref),
                       retry(Msg, Ref, Options, Retry)
               end;
           {error, _} ->
  
positive.code: 
  send_to_provider(#client_message{} = Msg, Ref, Async) ->
      communicate(Msg, Ref, #{error_on_empty_pool => false,
          ignore_send_errors => Async});
  send_to_provider(Msg, Ref, Async) ->
      send_to_provider(#client_message{message_body = Msg}, Ref, Async).
  
  stream_to_provider(#client_message{} = Msg, Ref, StmId) ->
      communicate(Msg, Ref, #{error_on_empty_pool => false,
          stream => {true, StmId}});
  stream_to_provider(Msg, Ref, StmId) ->
      send_to_provider(#client_message{message_body = Msg}, Ref, StmId).
  
  
negative.code: 
  send(Msg, Ref, Options) ->
      {Msg2, ReturnMsgID} = complete_msg(Msg, Options),
  
      case maps:get(ensure_connected, Options, false) of
          true -> ensure_connected(Ref);
          _ -> ok
      end,
  
      SendAns = case {maps:get(stream, Options, false),
          maps:get(ignore_send_errors, Options, false)} of
  