Made significant improvements on type checker. Fixed some issues with how certain expressions were not generating type errors as they should.