let
( + ) a b =
let
c = a + b
in
if
(a
lxor
b)
lor
(a
lxor
(lnot c)) < 0
then
c
else
raise
Overflow