TypeScript - Implicit vs Explicit Typing