anchor.diff:  /mob/proc/has_movespeed_modifier(datum/movespeed_modifier/datum_type_id)
   	if(ispath(datum_type_id))
   		datum_type_id = get_cached_movespeed_modifier(datum_type_id)
  -	if(istype(datum_type_id))
  +	else if(!istext(datum_type_id))
   		datum_type_id = datum_type_id.id
   	return LAZYACCESS(movespeed_modification, datum_type_id)
   
  
positive.code: 	var/variable = FALSE
  
  	/// Unique ID. You can never have different modifications with the same ID
  	var/id = "ERROR"
  
  	/// Higher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.
  	var/priority = 0
  
negative.code: 	var/datum/movespeed_modifier/final
  	if(istext(type_id_datum))
  		final = LAZYACCESS(movespeed_modification, type_id_datum)
  		if(!final)
  			CRASH("Couldn't find existing modification when only provided an ID.")
  	else if(ispath(type_id_datum))
  		if(!initial(type_id_datum.variable))
  			CRASH("Not a variable modifier")
  		var/id = initial(type_id_datum.id)
  		final = LAZYACCESS(movespeed_modification, id)
  		if(!final)
  			final = new type_id_datum
  			inject = TRUE
  			modified = TRUE
  