These implementations are more difficult to understand but perform exactly the same task. Thus, it is easier to learn about multiplexers in the way we have seen. For a total propagation delay of 19ns. Your individual One Bit Adder units are hopefully faster than this. Sounds like a good homework question.
Binary addition is a logic function and can be expressed in a truth table.
Any truth table can be implemented in 3 levels of logic. Then pick the one that is right when the carry in is actually known. Then use it in the addition. An 8 Bit Carry Select ALU would use 8 bit Carry Ripple units. As if the carry in is a 0.