Reduced the return types of basic operators for testing the example. It appears to be correct now. See the TODOs on top of Language/Types.hs