anchor.diff:  
   	queue[refid] = gctime
   
  -/datum/controller/subsystem/garbage_collector/proc/HardQueue(datum/A)
  +/datum/controller/subsystem/garbage/proc/HardQueue(datum/A)
   	if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
   		tobequeued += A
   		A.gc_destroyed = GC_QUEUED_FOR_HARD_DEL
   
  -/datum/controller/subsystem/garbage_collector/Recover()
  +/datum/controller/subsystem/garbage/Recover()
   	if (istype(SSgarbage.queue))
   		queue |= SSgarbage.queue
   	if (istype(SSgarbage.tobequeued))
  
positive.code: 		Queue(ref)
  		tobequeued.Cut(1, 2)
  
  /datum/controller/subsystem/garbage_collector/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()
  
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
  