code: func (d *Checker) Check(values []interface{}) (bool, error) {
  	bs, err := codec.EncodeValue([]byte{}, types.MakeDatums(values...)...)
  	if err != nil {
  		return false, errors.Trace(err)
  	}
  	key := string(bs)
  	_, ok := d.existingKeys[key]
  	if ok {
  		return false, nil
  	}
  	d.existingKeys[key] = true
  	return true, nil
  }
docs: // Check checks if values is distinct.