code: func (l *mvccLock) UnmarshalBinary(data []byte) error {
  	var mh marshalHelper
  	buf := bytes.NewBuffer(data)
  	mh.ReadNumber(buf, &l.startTS)
  	mh.ReadSlice(buf, &l.primary)
  	mh.ReadSlice(buf, &l.value)
  	mh.ReadNumber(buf, &l.op)
  	mh.ReadNumber(buf, &l.ttl)
  	return errors.Trace(mh.err)
  }
docs: // UnmarshalBinary implements encoding.BinaryUnmarshaler interface.