The MutableDataInt<Element>.Body model has many operation pairs similar to this:
extension MutableDataInt.Body {
consuming func increment(..............) -> Fallible<Self>
consuming func incrementSubSequence(...) -> Fallible<Self>
}
The *SubSequence operations represent some core algorithm that stops at the end of the given arguments. The non-*SubSequence carries or borrows the error indicator after that point. What if I instead add a carry() and borrow() to Fallible<MutableDataInt.Body>? I believe those two methods would make every non-*SubSequence variant obsolete.
The
MutableDataInt<Element>.Bodymodel has many operation pairs similar to this:The
*SubSequenceoperations represent some core algorithm that stops at the end of the given arguments. The non-*SubSequencecarries or borrows the error indicator after that point. What if I instead add acarry()andborrow()toFallible<MutableDataInt.Body>? I believe those two methods would make every non-*SubSequencevariant obsolete.