code: func (enc *Encoder) WriteUnsigned(val int) error {
  	if val < 0 {
  		enc.err = fmt.Errorf("negative value provided to WriteUnsigned")
  		return enc.err
  	}
  	return enc.writeUnsigned(val)
  }
docs: // WriteUnsigned - writes the int as a varuint. The argument is signed instead of
  // unsigned because typical use cases (i.e. len(slice), or 0x40) themselves use int.
  // An error is returned it the value is negative.