anchor.diff:  	var/static/datum/timedevent/timer
   	var/static/datum/timedevent/head
   
  -	if ((practical_offset > BUCKET_LEN * 0.75 && (head_offset + (world.tick_lag * BUCKET_LEN) < world.time)) || length(src.bucket_list) != BUCKET_LEN || world.tick_lag != bucket_resolution)
  +	if (practical_offset > BUCKET_LEN || (!resumed  && length(src.bucket_list) != BUCKET_LEN || world.tick_lag != bucket_resolution))
   		shift_buckets()
   		resumed = FALSE
  +
   
   	if (!resumed)
   		timer = null
  
positive.code: 			bucket_node = bucket_node.next
  		while(bucket_node && bucket_node != bucket_head)
  
  
  	bucket_list = new(BUCKET_LEN)
  	src.bucket_list = bucket_list //cache update
  	practical_offset = 1
  	bucket_count = 0
  	head_offset = world.time
  
negative.code: 			bucket_list[bucketpos] = next
  	else
  		if (prev && prev.next == src)
  			prev.next = next
  		if (next && next.prev == src)
  			next.prev = prev
  	next = null
  	prev = null
  	return QDEL_HINT_IWILLGC
  
  proc/addtimer(datum/callback/callback, wait, flags)
  	if (!callback)
  