I think the Add function is correct. 

Sub is only correct if Add is correct. 
This is draft 1
Can just do `else if y.sign` :)