As noted in the source code, if I use `zipWith3'`

and `init is`

, I get the first three digits out but not the last one.

Not so subtle. zipWith3 pattern-matches on all three lists. (init is) is empty iff os is empty, so (assuming the digit lists to be nonempty), to decide whether it produces any output, it needs to see whether it produces any output: <>. The problem is that init can’t deliver an item until it knows that there’s a next one.

]]>]]>luqui: @conal, your addition is discontinuous.

`addsPR add10 (repeat 9) (repeat 0) False`

gives`_|_`

. There are two contradictory right answers.luqui: @conal, impossible to have continuous addition with stream of digits. First digit partitions R into 2 disjoint subsets, but R is connected.

conal: @luqui yep. fixable with redundant number system representation + data abstraction?

luqui: @conal, so I have heard. I tried for 3 or 4 hours today and couldn’t quite get it.