Polymorphism in Typescript

FP and OOP teaming up to fight code redundancy