Major steps beyond popular paper (https://news.ycombinator.com/item?id=14167620). Includes extensive examples (video DSL, proof assistant built using their core). Lends itself to experimenting with type system extensions and integrated DSLs -- in principle for any language with a sufficiently advanced type system.