position is of type Vector2, this isn’t derived from Object so it’s value is copied when you assign it. The skull/arm/eyeball are of Node2D type which does inherit from Object, so they will be referenced, not copied, any update to the node including it’s position will be visible.