code: func ConvertToGeneral(concrete interface{}, general interface{}) (err error) {
  	b, err := json.Marshal(concrete)
  	if err != nil {
  		return
  	}
  	return json.Unmarshal(b, general)
  }
docs: //concrete data type to general data type
  // concrete data type like *Version
  // general data type include map[string]interface{} []string string
  // TODO make it faster