error msg fix
added a bunch of if/else tests
added if+type_inference tests
improved error messages - cleaner solution using TypeExpectation for message transfer
removed handled TODOs
symbol -> identifier
minor fix for Self-identifier location