code: func (s *NodeService) IsSame(other *NodeService) bool {
  	if s.ID != other.ID ||
  		s.Service != other.Service ||
  		!reflect.DeepEqual(s.Tags, other.Tags) ||
  		s.Address != other.Address ||
  		s.Port != other.Port ||
  		!reflect.DeepEqual(s.Weights, other.Weights) ||
  		!reflect.DeepEqual(s.Meta, other.Meta) ||
  		s.EnableTagOverride != other.EnableTagOverride ||
  		s.Kind != other.Kind ||
  		!reflect.DeepEqual(s.Proxy, other.Proxy) ||
  		s.Connect != other.Connect {
  		return false
  	}
  
  	return true
  }
docs: // IsSame checks if one NodeService is the same as another, without looking
  // at the Raft information (that's why we didn't call it IsEqual). This is
  // useful for seeing if an update would be idempotent for all the functional
  // parts of the structure.