Open
Description
Currently we have extra case classes like ZRangeWithScores
to support for commands with varying return types according to it's argument.
We might merge them into original commands with path-dependent type like this:
sealed trait ZRangeReturn { type Out }
case class Default[A: Reader]() extends ZRangeReturn { type Out = List[A] }
case class WithScores[A: Reader]() extends ZRangeReturn { type Out = List[(A, Double)] }
I'll give it a try when time allows.