there's a somewhat older github issue in the typescript repo that made the observation that typescript was turning complete
linked was also a proof via implement a turing machine within the typesystem.
that proof no longer works, and with the addition of template literal types, there comes a much more straightforward way to do this. that's what this is — a proof that typescript's type system is turning complete, 4 years later
see here for a typescript playground link
apparently i can't type "turing" lol
honestly the most interesting thing about this is probably how readable it is. it doesn’t take much imagination to make this work nowadays lol