code: func (u *ID) binaryPut(serializedData []byte) error {
  	if len(serializedData) != idLength {
  		return NewErrorf(ErrInvalidValue, "Incorrect slice size to serialize ID. Expected %d, got %d", idLength, len(serializedData))
  	}
  	var cursor int
  	if err := u.Feed.binaryPut(serializedData[cursor : cursor+feedLength]); err != nil {
  		return err
  	}
  	cursor += feedLength
  
  	epochBytes, err := u.Epoch.MarshalBinary()
  	if err != nil {
  		return err
  	}
  	copy(serializedData[cursor:cursor+lookup.EpochLength], epochBytes[:])
  	cursor += lookup.EpochLength
  
  	return nil
  }
docs: // binaryPut serializes this instance into the provided slice