code: func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) {
  	if h, ok := t.(tHelper); ok {
  		h.Helper()
  	}
  	if subset == nil {
  		return true // we consider nil to be equal to the nil set
  	}
  
  	subsetValue := reflect.ValueOf(subset)
  	defer func() {
  		if e := recover(); e != nil {
  			ok = false
  		}
  	}()
  
  	listKind := reflect.TypeOf(list).Kind()
  	subsetKind := reflect.TypeOf(subset).Kind()
  
  	if listKind != reflect.Array && listKind != reflect.Slice {
  		return Fail(t, fmt.Sprintf("%q has an unsupported type %s", list, listKind), msgAndArgs...)
  	}
  
  	if subsetKind != reflect.Array && subsetKind != reflect.Slice {
  		return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...)
  	}
  
  	for i := 0; i < subsetValue.Len(); i++ {
  		element := subsetValue.Index(i).Interface()
  		ok, found := includeElement(list, element)
  		if !ok {
  			return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", list), msgAndArgs...)
  		}
  		if !found {
  			return Fail(t, fmt.Sprintf("\"%s\" does not contain \"%s\"", list, element), msgAndArgs...)
  		}
  	}
  
  	return true
  }
docs: // Subset asserts that the specified list(array, slice...) contains all
  // elements given in the specified subset(array, slice...).
  //
  //    assert.Subset(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]")