TypeScript's type-system as a runtime