anchor.diff:  		Queue(ref)
   		tobequeued.Cut(1, 2)
   
  -/datum/controller/subsystem/garbage_collector/proc/HandleQueue()
  +/datum/controller/subsystem/garbage/proc/HandleQueue()
   	delslasttick = 0
   	gcedlasttick = 0
   	var/time_to_kill = world.time - collection_timeout // Anything qdel() but not GC'd BEFORE this time needs to be manually del()
  
positive.code: 	var/list/qdel_list = list()	// list of all types that have been qdel()eted
  #endif
  
  /datum/controller/subsystem/garbage_collector/New()
  	NEW_SS_GLOBAL(SSgarbage)
  
  /datum/controller/subsystem/garbage_collector/stat_entry(msg)
  	msg += "Q:[queue.len]|D:[delslasttick]|G:[gcedlasttick]|"
  	msg += "GR:"
  	if (!(delslasttick+gcedlasttick))
  
negative.code: 		msg += "TGR:[round((totalgcs/(totaldels+totalgcs))*100, 0.01)]%"
  	..(msg)
  
  /datum/controller/subsystem/garbage/fire()
  	HandleToBeQueued()
  	if(state == SS_RUNNING)
  		HandleQueue()
  
  //If you see this proc high on the profile, what you are really seeing is the garbage collection/soft delete overhead in byond.
  //Don't attempt to optimize, not worth the effort.
  /datum/controller/subsystem/garbage/proc/HandleToBeQueued()
  	var/list/tobequeued = src.tobequeued
  	var/starttime = world.time
  	var/starttimeofday = world.timeofday
  