code: func (l *mvccLock) MarshalBinary() ([]byte, error) {
  	var (
  		mh  marshalHelper
  		buf bytes.Buffer
  	)
  	mh.WriteNumber(&buf, l.startTS)
  	mh.WriteSlice(&buf, l.primary)
  	mh.WriteSlice(&buf, l.value)
  	mh.WriteNumber(&buf, l.op)
  	mh.WriteNumber(&buf, l.ttl)
  	return buf.Bytes(), errors.Trace(mh.err)
  }
docs: // MarshalBinary implements encoding.BinaryMarshaler interface.