-- TODO: check for overflow
safeAdd :: SafeValue h a -> SafeValue h a -> Maybe (SafeValue h a)
safeAdd (Value x) (Value y) = Just $ Value (x + y)
safeAdd :: SafeValue h a -> SafeValue h a -> Maybe (SafeValue h a)
safeAdd (Value x) (Value y) = Just $ Value (x + y)
safeAdd (Value x) (Value y) = Just $ Value (x + y)