code: func isAcceptableKind(kind reflect.Kind) bool {
  	switch kind {
  	case reflect.Chan:
  		fallthrough
  	case reflect.Complex64:
  		fallthrough
  	case reflect.Complex128:
  		fallthrough
  	case reflect.Func:
  		fallthrough
  	case reflect.Ptr:
  		fallthrough
  	case reflect.Interface:
  		return false
  	}
  
  	return true
  }
docs: // isAcceptableKind returns whether or not the passed field type is a supported
  // type.  It is called after the first pointer indirection, so further pointers
  // are not supported.