anchor.diff:  	var/list/queue = list() 	// list of refID's of things that should be garbage collected
   								// refID's are associated with the time at which they time out and need to be manually del()
   								// we do this so we aren't constantly locating them and preventing them from being gc'd
  -
  +	
  +	var/list/tobequeued = list()	//We store the references of things to be added to the queue seperately so we can spread out GC overhead over a few ticks
   
   	var/list/didntgc = list()	// list of all types that have failed to GC associated with the number of times that's happened.
   								// the types are stored as strings
  
positive.code: 			if (QDEL_HINT_PUTINPOOL)	//qdel will put this object in the pool.
  				PlaceInPool(D, 0)
  			if (QDEL_HINT_FINDREFERENCE)//qdel will, if TESTING is enabled, display all references to this object, then queue the object for deletion.
  				SSgarbage.Queue(D)
  				#ifdef TESTING
  				A.find_references()
  				#endif
  
negative.code: 			return
  		switch(hint)
  			if (QDEL_HINT_QUEUE)		//qdel should queue the object for deletion.
  				SSgarbage.QueueForQueuing(D)
  			if (QDEL_HINT_LETMELIVE)	//qdel should let the object live after calling destory.
  				return
  			if (QDEL_HINT_IWILLGC)		//functionally the same as the above. qdel should assume the object will gc on its own, and not check it.
  