code: func (ran *Range) Clone() *Range {
  	newRange := &Range{
  		LowVal:      make([]types.Datum, 0, len(ran.LowVal)),
  		HighVal:     make([]types.Datum, 0, len(ran.HighVal)),
  		LowExclude:  ran.LowExclude,
  		HighExclude: ran.HighExclude,
  	}
  	for i, length := 0, len(ran.LowVal); i < length; i++ {
  		newRange.LowVal = append(newRange.LowVal, ran.LowVal[i])
  	}
  	for i, length := 0, len(ran.HighVal); i < length; i++ {
  		newRange.HighVal = append(newRange.HighVal, ran.HighVal[i])
  	}
  	return newRange
  }
docs: // Clone clones a Range.