code: func CastInterfaceToInterfaceSlice(slice interface{}) ([]interface{}, error) {
  	s := reflect.ValueOf(slice)
  	if s.Kind() != reflect.Slice {
  		return []interface{}{}, fmt.Errorf("Input is not a slice: %#v", slice)
  	}
  
  	ret := make([]interface{}, s.Len())
  
  	for i := 0; i < s.Len(); i++ {
  		ret[i] = s.Index(i).Interface()
  	}
  
  	return ret, nil
  }
docs: // CastInterfaceToInterfaceSlice ...