anchor.diff:  	var/list/processed_list = list()
   	var/list/found_mobs = list()
   
  +	if(!O.contents.len)
  +		return found_mobs
  +
   	while(processing_list.len)
   
   		var/atom/A = processing_list[1]
  
positive.code: 	var/list/range = hear(R, T)
  
  	for(var/atom/A in range)
  		if(isobj(A) || ismob(A))
  			hear = recursive_mob_check(A, 1, 0, 1)
  
  	return hear
  
  
negative.code: 			if(sight_check && !isInSight(A, O))
  				passed=0
  
  		else passed = 0
  
  		if(passed)
  			if(!(A in found_mobs)) found_mobs += A
  
  			for(var/atom/B in A)
  				if(!(B in processed_list) && (istype(A, /obj/item/device/radio)||ismob(B)) )
  					processing_list += B
  
  		processing_list-=A
  