Interfaces vs Type Aliases in TypeScript | CodeTrail