Carrying Is a 2-Cocycle [pdf]
timothychow.net
timothychow.net
Now consider a binary operator combining two such values. It is associative and has X as an identity element, thus is a monoid:
\ 0 1 X
+------
0 | 0 0 0
1 | 1 1 1
X | 0 1 X
Now you can express the carry output of bit i as the inclusive scan (prefix sum) of these values from 0 to i. Because it's a monoid, you can implement it efficiently in parallel. There's a nontrivial literature in digital electronics exploiting this basic fact.Of course, to me everything is a monoid (including rendering vector graphics paths), so it should come as no surprise that I see things this way.
My best guess is that OP had a course about rather abstract homological algebra, which he only grokked after learning about applications in algebraic geometry, which were "deeper" in some sense.