anchor.diff:  // Gets an atmos isolated contained space
   // Returns an associative list of turf|dirs pairs
   // The dirs are connected turfs in the same space
  -// break_if_found is a typecache of turf types to return false if found
  +// break_if_found is a typecache of turf/area types to return false if found
  +// Please keep this proc type agnostic. If you need to restrict it do it elsewhere or add an arg.
   /proc/detect_room(turf/origin, list/break_if_found)
   	if(origin.blocks_air)
   		return list(origin)
  
positive.code: 	var/list/found_turfs = list(origin)
  	while(found_turfs.len)
  		var/turf/sourceT = found_turfs[1]
  		if(break_if_found[sourceT.type])
  			return FALSE
  		if (istype(sourceT.loc, /area/shuttle))
  			return FALSE
  		found_turfs.Cut(1, 2)
  		var/dir_flags = checked_turfs[sourceT]
  		for(var/dir in GLOB.alldirs)
  
negative.code: 	var/list/areas = list("New Area" = /area)
  	for(var/i in 1 to turfs.len)
  		var/area/place = get_area(turfs[i])
  		if(blacklisted_areas[place.type])
  			continue
  		if(!place.requires_power || place.noteleport || place.hidden)
  			continue // No expanding powerless rooms etc
  