anchor.diff:  	GLOB.machines.Remove(src)
   	end_processing()
   	dropContents()
  -	if(length(component_parts))
  -		for(var/atom/A in component_parts)
  -			qdel(A)
  -		component_parts.Cut()
  +	QDEL_LIST(component_parts)
   	QDEL_NULL(circuit)
   	return ..()
   
  
positive.code: 	. = ..()
  	if (AM == occupant)
  		occupant = null
  
  /obj/machinery/proc/adjust_item_drop_location(atom/movable/AM)	// Adjust item drop location to a 3x3 grid inside the tile, returns slot id from 0 to 8
  	var/md5 = md5(AM.name)										// Oh, and it's deterministic too. A specific item will always drop from the same slot.
  
negative.code: 		occupant = null
  		update_icon()
  		updateUsrDialog()
  	if(A == circuit)
  		circuit = null
  	return ..()
  
  /obj/machinery/CanAllowThrough(atom/movable/mover, turf/target)
  