If you care about data typing and want to avoid null/undefined errors, there's a lot you're going to like in TypeScript 2.0. And, if you like creating general purpose functions that can work with a ...
The operations that may be performed on an ADT completely depend on the ADT’s purpose. For example, an ADT for a stack might include operations such as initialization, pushing data, popping data, ...