anchor.diff:  -spec count(pid(), colldb(), selector()) -> integer().
   -spec count(pid(), colldb(), selector(), readprefs()) -> integer().
   -spec count(pid(), colldb(), selector(), readprefs(), integer()) -> integer().
  --spec ensure_index(pid(), colldb(), bson:document()) -> ok.
  --spec command(pid(), bson:document()) -> {boolean(), bson:document()}. % Action
  --spec command(pid(), bson:document(), readprefs()) -> {boolean(), bson:document()}. % Action
  +-spec ensure_index(pid(), colldb(), bson:document()) -> ok | { error, not_master }.
  +-spec command(pid(), bson:document()) -> {boolean(), bson:document()} | { error, not_master }. % Action
  +-spec command(pid(), bson:document(), readprefs()) -> {boolean(), bson:document()} | { error, not_master }. % Action
   
   
   % mongoc:connect( stat,
  
positive.code: 		collection = <<"$cmd">>,
  		selector = Command
  	},
  	Doc = mc_action_man:read_one( C, mongos_query_transform( Type, Q, RPrefs ) ),
  	mc_connection_man:process_reply(Doc, Command).
  
  
  
  
negative.code: 
  ensure_index( Topology, Coll, IndexSpec ) ->
  	{ ok, #{ pool := C } } = mc_topology:get_pool( Topology, [{rp_mode, primary}] ),
  	try	mc_connection_man:request_async(C, #ensure_index{collection = Coll, index_spec = IndexSpec}) of
  		R -> R
  	catch
  		error:not_master ->
  			mc_topology:update_topology( Topology ),
  			{ error, not_master };
  		error:{bad_query,{not_master,_}}  ->
  			mc_topology:update_topology( Topology ),
  			{ error, not_master }
  	end.
  
  
  
  