Problem Statement
Prefer interface over type mainly because…
Explanation
Interfaces extend and merge naturally and work cleanly with classes. Use type aliases for unions, intersections, and advanced mapped/conditional types.
Code Solution
SolutionRead Only
interface Animal { speak(): void }
class Dog implements Animal { speak() { /*...*/ } }