> and a whole new way to define types at runtime made them feel like it was too complicated
How you made this happen? My impression was that TypeScript doesn't have runtime types and stopped looking at TypeScript after that as it basically makes TypeScript useless for myself and my team.