Omg, this is the blog I was searching for a long time. I was trying to do OOP in TypeScript and sometimes I felt like I didn't harness the power of FP. And great job in that Partially Applied Controller that encapsulate impure + pure function and separate function logic into 3 parts:
These knowledge will definitely be put in use in my VSCode Extension that used TypeScript. This is also the project for my graduation thesis.