code: func includeElement(list interface{}, element interface{}) (ok, found bool) {
  
  	listValue := reflect.ValueOf(list)
  	listKind := reflect.TypeOf(list).Kind()
  	defer func() {
  		if e := recover(); e != nil {
  			ok = false
  			found = false
  		}
  	}()
  
  	if listKind == reflect.String {
  		elementValue := reflect.ValueOf(element)
  		return true, strings.Contains(listValue.String(), elementValue.String())
  	}
  
  	if listKind == reflect.Map {
  		mapKeys := listValue.MapKeys()
  		for i := 0; i < len(mapKeys); i++ {
  			if ObjectsAreEqual(mapKeys[i].Interface(), element) {
  				return true, true
  			}
  		}
  		return true, false
  	}
  
  	for i := 0; i < listValue.Len(); i++ {
  		if ObjectsAreEqual(listValue.Index(i).Interface(), element) {
  			return true, true
  		}
  	}
  	return true, false
  
  }
docs: // containsElement try loop over the list check if the list includes the element.
  // return (false, false) if impossible.
  // return (true, false) if element was not found.
  // return (true, true) if element was found.