anchor.diff:  /datum/gas_mixture/immutable
   	var/initial_temperature
   
  -/datum/gas_mixture/immutable/proc/reset_gas_mix()
  +/datum/gas_mixture/immutable/New()
  +	..()
  +	garbage_collect()
  +
  +/datum/gas_mixture/immutable/garbage_collect()
   	temperature = initial_temperature
   	temperature_archived = initial_temperature
  -
  -/datum/gas_mixture/immutable/New()
  -	..()
  -	reset_gas_mix()
  -
  -/datum/gas_mixture/immutable/garbage_collect()
  -	reset_gas_mix()
  +	gases.Cut()
   
   /datum/gas_mixture/immutable/archive()
   	return 1 //nothing changes, so we do nothing and the archive is successful
  
positive.code: 
  /datum/gas_mixture/immutable/share(datum/gas_mixture/sharer, atmos_adjacent_turfs = 4)
  	. = ..(sharer, 0)
  	reset_gas_mix()
  
  /datum/gas_mixture/immutable/after_share()
  	temperature = initial_temperature
  	reset_gas_mix()
  
  /datum/gas_mixture/immutable/react()
  	return 0 //we're immutable.
  
negative.code: 	. = ..()
  	temperature = initial_temperature
  
  
  //used by space tiles
  /datum/gas_mixture/immutable/space
  	initial_temperature = TCMB
  
  /datum/gas_mixture/immutable/space/heat_capacity()
  	return 7000
  