code: func (u *UserV2) Equals(other User) bool {
  	if u.Metadata.Name != other.GetName() {
  		return false
  	}
  	otherIdentities := other.GetOIDCIdentities()
  	if len(u.Spec.OIDCIdentities) != len(otherIdentities) {
  		return false
  	}
  	for i := range u.Spec.OIDCIdentities {
  		if !u.Spec.OIDCIdentities[i].Equals(&otherIdentities[i]) {
  			return false
  		}
  	}
  	otherSAMLIdentities := other.GetSAMLIdentities()
  	if len(u.Spec.SAMLIdentities) != len(otherSAMLIdentities) {
  		return false
  	}
  	for i := range u.Spec.SAMLIdentities {
  		if !u.Spec.SAMLIdentities[i].Equals(&otherSAMLIdentities[i]) {
  			return false
  		}
  	}
  	otherGithubIdentities := other.GetGithubIdentities()
  	if len(u.Spec.GithubIdentities) != len(otherGithubIdentities) {
  		return false
  	}
  	for i := range u.Spec.GithubIdentities {
  		if !u.Spec.GithubIdentities[i].Equals(&otherGithubIdentities[i]) {
  			return false
  		}
  	}
  	return true
  }
docs: // Equals checks if user equals to another