code: func DecodeComparableUvarint(b []byte) ([]byte, uint64, error) {
  	if len(b) == 0 {
  		return nil, 0, errDecodeInsufficient
  	}
  	first := b[0]
  	b = b[1:]
  	if first < negativeTagEnd {
  		return nil, 0, errors.Trace(errDecodeInvalid)
  	}
  	if first <= positiveTagStart {
  		return b, uint64(first) - negativeTagEnd, nil
  	}
  	length := int(first) - positiveTagStart
  	if len(b) < length {
  		return nil, 0, errors.Trace(errDecodeInsufficient)
  	}
  	var v uint64
  	for _, c := range b[:length] {
  		v = (v << 8) | uint64(c)
  	}
  	return b[length:], v, nil
  }
docs: // DecodeComparableUvarint decodes mem-comparable uvarint.