JuliaLang/julia — comment on commit 6f85a7cf5261c53899a72dd82d59db414628d49c
File:  line 0
By JeffBezanson:

True; if we adopt the idea of doing all arithmetic in a standard type except for `Uint64`, then `Bool` would behave exactly like a `Uint1`.
One downside is that reductions are not type stable. If you start with the first element, or `zero(T)`, the reduction variable has a sub-optimal type change after the first operation. Then again, summing an array of `Int8` and getting an `Int8` answer is not necessarily useful either.