anchor.diff:  
   /datum/reagents/proc/update_total()
   	total_volume = 0
  -	for(var/datum/reagent/R in reagent_list)
  +	for(var/reagent in reagent_list)
  +		var/datum/reagent/R = reagent
   		if(R.volume < 0.1)
   			del_reagent(R.id)
   		else
  
positive.code: 	if(!target.reagents || src.total_volume<=0)
  		return
  	var/datum/reagents/R = target.reagents
  	amount = min(min(amount, src.total_volume), R.maximum_volume-R.total_volume)
  	var/part = amount / src.total_volume
  	var/trans_data = null
  	for (var/datum/reagent/current_reagent in src.reagent_list)
  		var/current_reagent_transfer = current_reagent.volume * part
  		if(preserve_data)
  			trans_data = current_reagent.data
  		R.add_reagent(current_reagent.id, (current_reagent_transfer * multiplier), trans_data)
  
  	src.update_total()
  	R.update_total()
  
negative.code: /datum/reagents/Destroy()
  	. = ..()
  	SSobj.processing.Remove(src)
  	for(var/reagent in reagent_list)
  		var/datum/reagent/R = reagent
  		qdel(R)
  	reagent_list.Cut()
  	reagent_list = null
  