Pretty basic stuff.
In Haskell, the problem with type-level programming is that it is completely unprincipled and therefore disintegrates into a pile of shit pretty much immediately (e.g., see a chapter on FCF). Unless you were very careful and thought about the ergonomics of your API a lot, nobody is going to touch your type-level chicanery with a ten-foot pole. There's hope in that DT is going to probably eventually land in GHC.
As an aside, this guy's Haskell style is insufferable.