Declaration Merging with TypeScript
Declaration merging is a very interesting feature of TypeScript, the statically typed superset of JavaScript. As you will see, different things can be merged in TypeScript. The merging is always based on matching names, so as soon as two e.g. interfaces have the same name (and live in the same names