Instruction: Explain the concept of Type Narrowing with examples showing its application in if-else conditions.
Context: Aims to test the candidate's proficiency in TypeScript's type system, focusing on Type Narrowing and its significance in conditional logic to ensure type safety.