anchor.diff:  		AC.Remove(src)
   	return ..()
   
  +/mob/living/simple_animal/slime/proc/initialize_mutations()
  +	var/list/cached = color_mutation_cache[colour]
  +	if(!cached)
  +		cached = color_mutation_cache[colour] = mutation_table(colour)
  +	slime_mutation = cached
  +
   /mob/living/simple_animal/slime/proc/set_colour(new_colour)
   	colour = new_colour
   	update_name()
  -	slime_mutation = mutation_table(colour)
  +	initialize_mutations()
   	var/sanitizedcolour = replacetext(colour, " ", "")
   	coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]")
   	regenerate_icons()
  
positive.code: 
  	var/colour = "grey"
  	var/coretype = /obj/item/slime_extract/grey
  	var/list/slime_mutation[4]
  
  	var/static/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange",
  	"blue", "dark blue", "dark purple", "yellow", "silver", "pink", "red",
  
negative.code: 
  
  /mob/living/simple_animal/slime/Initialize(mapload, new_colour="grey", new_is_adult=FALSE)
  	initialize_mutations()
  	var/datum/action/innate/slime/feed/F = new
  	F.Grant(src)
  
  