https://www.cs.utexas.edu/~moore/best-ideas/pltp/