async def zrange(self, name, start, end, desc=False, withscores=False,
                     score_cast_func=float):
        if desc:
            return await self.zrevrange(name, start, end, withscores,
                                        score_cast_func)
        pieces = ['ZRANGE', name, start, end]
        if withscores:
            pieces.append(b('WITHSCORES'))
        options = {
            'withscores': withscores,
            'score_cast_func': score_cast_func
        }
        return await self.execute_command(*pieces, **options)