anchor.diff:  			return
   		switch(hint)
   			if (QDEL_HINT_QUEUE)		//qdel should queue the object for deletion.
  -				SSgarbage.PreQueue(D)
  +				SSgarbage.Queue(D)
   			if (QDEL_HINT_IWILLGC)
   				D.gc_destroyed = world.time
   				return
  
positive.code: 
  /datum/controller/subsystem/garbage/fire()
  	//the fact that this resets its processing each fire (rather then resume where it left off) is intentional.
  	var/queue = GC_QUEUE_PREQUEUE
  
  	while (state == SS_RUNNING)
  		switch (queue)
  			if (GC_QUEUE_PREQUEUE)
  				HandlePreQueue()
  				queue = GC_QUEUE_PREQUEUE+1
  			if (GC_QUEUE_CHECK)
  				HandleQueue(GC_QUEUE_CHECK)
  				queue = GC_QUEUE_CHECK+1
  
negative.code: 					testing("WARNING: [D.type] is not returning a qdel hint. It is being placed in the queue. Further instances of this type will also be queued.")
  				#endif
  				I.no_hint++
  				SSgarbage.Queue(D)
  	else if(D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
  		CRASH("[D.type] destroy proc was called multiple times, likely due to a qdel loop in the Destroy logic")
  
  