LukaJCB on more-laziness
Override map2Eval and combineKE… (compare)
travisbrown on master
Optimise NonEmptyTraverse imple… (compare)
CycledEnumas well (as in Mon, Tues, ...),but it'd be hard to formulate a law for it. Ideally I'd like to say
forall b a. exists. next(a) = b.
def cycleNext[A: PartialNext: Lowerbounded](a: A): A
implicit def partialFromNext[A: Next]: PartialNext[A] = ...
Byteand show that the period of any value is exactly 256
Next[BigInt] => PartialNext[Option[BigInt]]where
None > Some(_)or you could make a similar artificial point at infinity.
next(max) == Noneand iterating next will eventually terminate.