TypeScript λ?
Union, Enum, any
Type
class, Abstract Class
Generic
type assertion vs type annotation