Status: Brainstorm / discussion draft
Goal: Explore a TypeScript-compatible way to make type-level programming look and behave more like ordinary TypeScript.
TypeScript already has a powerful type-level programming language.
It supports branching through conditional types, local bindings through infer, iteration through recursion, pattern matching through conditional inference, and higher-order abstractions through a variety of encodings. It is powerful enough to support substantial compile-time computation—and, famously, even Doom.