I struggled a bit to understand the explanation on github, but eventually got to something that made sense. It would have helped me if it said up front that
- 0, 1, N and Y pass the input signal on (works like a | or - in the input direction), and that - when a circuit has both a 0 and 1 output value, the output becomes 0 (which is why 11 is an AND and not a OR)
Hopefully that's correctly understood? If so, maybe consider updating the explanation for the next person.
Also, a question: Does a 0 and 1 on the same circuit consume more power than two 0s or two 1s due to the conflicting values? Or is it solved with transistors at the cost of propagation delay? Or something else?