tinymatch A teeny language with nats, lists and pattern matching, static and dynamic semantics and a proof of progress and preservation.