Working exercises from Benjamin Pierce's book Types and Programming Languages.
The book uses ML, so this code is a mix of Pierce's code ported from ML to Scala, plus my own code (exercise solutions, test cases, and so forth).
This guy got a lot farther than I did on this: https://github.com/ilya-klyuchnikov/tapl-scala
I, Seth Tisue, place everything in this repository in the public domain. Except for the parts that are just Pierce's code transliterated to another language. That stuff I guess you'd have to ask him about.