fcn nBitAddr(as,bs){ //-->(carry, sn..s3,s2,s1,s0) (ss:=List()).append( [as.len()-1 .. 0,-1].reduce('wrap(c,n){ c2,s:=fullBitAdder(c,as[n],bs[n]); ss + s; c2 },0)) .reverse(); } println(nBitAddr(T(1,0,1,0), T(1,0,0,1)));