Red Language claims to be functional imperative. In my case I prefer to use functions as much as possible for structure and organization in TypeScript, because functions are portable and provide scope. The functions are mostly void functions that don’t return a value, such as event handlers. I completely detest OOP and inheritance.