anchor.diff:  	src.volume = volume
   	last_share = 0
   	fuel_burnt = 0
  -	create_reagents(1000)
   
   //listmos procs
   
  
positive.code: 		return null
  	ratio = min(ratio, 1)
  
  	var/list/cached_reagents = reagents.reagent_list
  
  	var/list/cached_gases = gases
  	var/datum/gas_mixture/removed = new
  	var/list/removed_gases = removed.gases //accessing datum vars is slower than proc vars
  
negative.code: 	for(var/id in cached_gases)
  		copy.add_gas(id)
  		copy_gases[id][MOLES] = cached_gases[id][MOLES]
  
  	return copy
  
  /datum/gas_mixture/copy_from(datum/gas_mixture/sample)
  	var/list/cached_gases = gases //accessing datum vars is slower than proc vars
  	var/list/sample_gases = sample.gases
  
  	temperature = sample.temperature
  	for(var/id in sample_gases)
  		assert_gas(id)
  		cached_gases[id][MOLES] = sample_gases[id][MOLES]
  
  	//remove all gases not in the sample
  	cached_gases &= sample_gases
  