func valueTypesFromParents(parents types.Set, fieldName string) []*types.Type { elemType := getSetElementType(parents.Type()) switch elemType.Kind() { case types.UnionKind: ts := []*types.Type{} for _, rt := range elemType.Desc.(types.CompoundDesc).ElemTypes { ts = append(ts, fieldTypeFromRefOfCommit(rt, fieldName)) } return ts default: return []*types.Type{fieldTypeFromRefOfCommit(elemType, fieldName)} } }