code: func (t Result) Less(token Result, caseSensitive bool) bool {
  	if t.Type < token.Type {
  		return true
  	}
  	if t.Type > token.Type {
  		return false
  	}
  	if t.Type == String {
  		if caseSensitive {
  			return t.Str < token.Str
  		}
  		return stringLessInsensitive(t.Str, token.Str)
  	}
  	if t.Type == Number {
  		return t.Num < token.Num
  	}
  	return t.Raw < token.Raw
  }
docs: // Less return true if a token is less than another token.
  // The caseSensitive paramater is used when the tokens are Strings.
  // The order when comparing two different type is:
  //
  //  Null < False < Number < String < True < JSON
  //