Turns out he just used what he knew, TypeScript, and not what best solves the problem. He must have not had his "framework" then.