def zscan(self, key, cursor=0, match=None, count=None):
        args = []
        if match is not None:
            args += [b'MATCH', match]
        if count is not None:
            args += [b'COUNT', count]
        fut = self.execute(b'ZSCAN', key, cursor, *args)
        def _converter(obj):
            return (int(obj[0]), pairs_int_or_float(obj[1]))
        return wait_convert(fut, _converter)