code: func IsValidIDType(id interface{}) bool {
  	switch id.(type) {
  	case int, int8, int16, int32, int64,
  		uint, uint8, uint16, uint32, uint64,
  		float32, float64,
  		string,
  		nil:
  		return true
  	default:
  		return false
  	}
  }
docs: // IsValidIDType checks that the ID field (which can go in any of the JSON-RPC
  // requests, responses, or notifications) is valid.  JSON-RPC 1.0 allows any
  // valid JSON type.  JSON-RPC 2.0 (which bitcoind follows for some parts) only
  // allows string, number, or null, so this function restricts the allowed types
  // to that list.  This function is only provided in case the caller is manually
  // marshalling for some reason.    The functions which accept an ID in this
  // package already call this function to ensure the provided id is valid.