anchor.diff:  
   	var/list/cached_gases = gases
   	var/list/sharer_gases = sharer.gases
  -	var/list/our_reagents = reagents.reagent_list
  -	var/list/their_reagents = sharer.reagents.reagent_list
  -
  -	for(var/R in our_reagents)
  -		var/datum/reagent/RAO = R
  -		if(!sharer.reagents.has_reagent(RAO.id))
  -			sharer.reagents.add_reagent(RAO.id, REAGENT_GAS_AMT)
  -
  -	for(var/RA in their_reagents)
  -		var/datum/reagent/RAT = RA
  -		if(!reagents.has_reagent(RAT.id))
  -			reagents.add_reagent(RAT.id, REAGENT_GAS_AMT)
   
   	var/temperature_delta = temperature_archived - sharer.temperature_archived
   	var/abs_temperature_delta = abs(temperature_delta)
  
positive.code: #define MINIMUM_HEAT_CAPACITY	0.0003
  #define QUANTIZE(variable)		(round(variable,0.0000001))/*I feel the need to document what happens here. Basically this is used to catch most rounding errors, however it's previous value made it so that
  															once gases got hot enough, most procedures wouldnt occur due to the fact that the mole counts would get rounded away. Thus, we lowered it a few orders of magnititude */
  #define REAGENT_GAS_AMT 2.5
  var/list/meta_gas_info = meta_gas_list() //see ATMOSPHERICS/gas_types.dm
  
  var/list/gaslist_cache = null
  
negative.code: 
  	var/list/cached_gases = gases //accessing datum vars is slower than proc vars
  	var/list/giver_gases = giver.gases
  	//gas transfer
  	for(var/giver_id in giver_gases)
  		assert_gas(giver_id)
  