anchor.diff:  GLOBAL_LIST_INIT(duplicate_forbidden_vars,list(
   	"tag", "datum_components", "area", "type", "loc", "locs", "vars", "parent", "parent_type", "verbs", "ckey", "key",
   	"power_supply", "contents", "reagents", "stat", "x", "y", "z", "group", "atmos_adjacent_turfs", "comp_lookup",
  -	"client_mobs_in_contents", "bodyparts", "internal_organs", "hand_bodyparts", "overlays", "overlays_standing", "hud_list",
  -	"actions", "AIStatus", "appearance", "managed_overlays", "managed_vis_overlays", "computer_id", "lastKnownIP", "implants",
  -	"tgui_shared_states"
  +	"client_mobs_in_contents", "bodyparts", "internal_organs", "hand_bodyparts", "hud_list",
  +	"actions", "AIStatus", "computer_id", "lastKnownIP", "implants", "tgui_shared_states"
   	))
   
   /proc/DuplicateObject(atom/original, perfectcopy = TRUE, sameloc, atom/newloc = null, nerf, holoitem)
  
positive.code: 			if(islist(original.vars[V]))
  				var/list/L = original.vars[V]
  				O.vars[V] = L.Copy()
  			else if(istype(original.vars[V], /datum) || ismob(original.vars[V]))
  				continue	// this would reference the original's object, that will break when it is used or deleted.
  			else
  				O.vars[V] = original.vars[V]
  
negative.code: 				contained_atom.flags_1 |= HOLOGRAM_1
  			if(M.circuit)
  				M.circuit.flags_1 |= HOLOGRAM_1
  	return O
  
  
  