struct Add {
sum: Logic,
carry: Logic
}
comb halfadd (
a: Logic,
b: Logic
) -> Add
{
Add{sum: a ^ b, carry: a & b}