code: func (id *ID) UnmarshalJSON(b []byte) error {
  	if len(b) < 2 || b[0] != byte('"') || b[len(b)-1] != byte('"') {
  		return errors.New("value is not a string")
  	}
  
  	return id.fillID(b[1 : len(b)-1])
  }
docs: // UnmarshalJSON implements the json.Unmarshaler interface for IDs.