The TypeScript EvenList<T> type at the end does not work as the author is implying.
https://www.typescriptlang.org/play?#code/C4TwDgpgBAogbhAdgG...
I am not a TS type expert by any means, but I don't believe it's possible to express an even list in TS's type system.
But with that said, I enjoyed the article and I agree with the points its making.