Typescript Functional Programming Vs Imperative