GoLang - Conversion of type "interface {}" to another interface in a slice of type "interface {}" via reflection : I've been burning neurons for hours and I couldn't solve this question. I have a slice of type People, I need to pass this slice to a function that gets the type "interface {}". The People type "implements" an interface called HasCustomField, but I can't do the type conversion within the function, as I am doing:

    type HasCustomField interface {
    	GetCustomField() map[string]interface{}
    }
    
    type People struct {	
    	Name string
    	customField map[string]interface{}
    }
    
    func (c *People) GetCustomField() map[string]interface{} {
    	if c.customField == nil {
    		c.customField = make(map[string]interface{})
    	}
    	return c.customField
    }

    func main() {
        users := []People{{Name:"Teste"},{Name:"Mizael"}}
        ProcessCustomField(&users)
    }
    
    func ProcessCustomField(list interface{}) {
    
        if list != nil {
    		listVal := reflect.ValueOf(list).Elem()
    
    		if listVal.Kind() == reflect.Slice {
    
                 for i:=0; i<listVal.Len(); i++ {
    			     valueReflect := listVal.Index(i).Interface()
                     objValueFinal, ok := valueReflect.(HasCustomField)
    
                     if ok {
    					fmt.Println("OK")
    				} else {
    					fmt.Println("NAO OK")
    				}
            }
    }

The result is always "Not OK", I can not do the conversion, I tried several other ways too, including calling the method "GetCustomField" via reflection, but was unsuccessful.