code: func (enc *Encoder) EncodeOpaque(v []byte) (int, error) {
  	// Length of opaque data.
  	n, err := enc.EncodeUint(uint32(len(v)))
  	if err != nil {
  		return n, err
  	}
  
  	n2, err := enc.EncodeFixedOpaque(v)
  	n += n2
  	return n, err
  }
docs: // EncodeOpaque treats the passed byte slice as opaque data of a variable
  // size and writes the XDR encoded representation of it to the encapsulated
  // writer.  It returns the number of bytes written.
  //
  // A MarshalError with an error code of ErrIO is returned if writing the data
  // fails.
  //
  // Reference:
  // 	RFC Section 4.10 - Variable-Length Opaque Data
  // 	Unsigned integer length followed by fixed opaque data of that length