Yeah Typescript is great. It doesn't have a negation type per se, but its pretty easy to derive one using the never type [1]. The author of this essay actually explicitly calls out Typescript several times. Some quotes from the paper's conclusion:
> In this essay I tried to survey the multiple advantages and usages of set-theoretic types in programming.
> ...the need of set-theoretic types naturally arises when trying to fit type-systems on dynamic languages
> The development of languages such as Flow, TypeScript, and Typed Racket is the latest witness of this fact.