In TypeScript, what is the key difference between an `interface` and a `type` alias?
-
A
Interfaces support declaration merging; type aliases do not
-
B
Type aliases support generics; interfaces do not
-
C
Interfaces can only describe objects; type aliases can only describe primitives
-
D
They are completely interchangeable with no differences