Krishnaswami, Neel. _Objects and Aspects: Row Polymorphism_. <https://web.archive.org/web/20180103031716/http://www.cs.cmu.edu/~neelk/rows.pdf>
Talks a little about recursive structural types with the μ fixpoint operator.
Pearce, David J. "Iso-Recursive versus Equi-Recursive Types". <https://whileydave.com/2013/04/21/iso-recursive-versus-equi-recursive-types/>
Sampson, Adrian. "Lecture 27: Recursive Types". _CS 4110: Programming Languages and Logics_. <https://www.cs.cornell.edu/courses/cs4110/2018fa/lectures/lecture27.pdf>
Describes the theory of iso- and equirecursive types.
"Higher-rank polymorphism over unboxed types". https://cstheory.stackexchange.com/questions/37523/higher-rank-polymorphism-over-unboxed-types
Includes a detailed answer by Neel Krishnaswami.
Krishnaswami and Dunfield. "Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism". _ICFP '13_. <https://arxiv.org/pdf/1306.6032.pdf>
Describes HM type inference and includes a toy implementation in Python.
Gonzalez, Gabriella. "Introductory resources to type theory for language implementers". <https://www.haskellforall.com/2022/05/introductory-resources-to-type-theory.html>
Short bibliography of resources that helped the author understand type theory.
Donham, Jake. "Reconstructing TypeScript, part 1: bidirectional type checking". <https://jaked.org/blog/2021-09-15-Reconstructing-TypeScript-part-1>
Krishnaswami and Dunfield. "Bidirectional Typing". 2020. <https://www.cl.cam.ac.uk/~nk480/bidir-survey.pdf>
"We highlight the design principles that underlie bidirectional type systems, survey the development of bidirectional typing from the prehistoric period before Pierce and Turner’s local type inference to the present day, and provide guidance for future investigations."
Gonzalez, Gabriella. "The appeal of bidirectional type-checking". <https://www.haskellforall.com/2022/06/the-appeal-of-bidirectional-type.html>
Bidirectional type checking handles subtyping well, and here's why that matters.
Christiansen, David. "Bidirectional Typing Rules: A Tutorial". <https://davidchristiansen.dk/tutorials/bidirectional.pdf>
Smith, Nathaniel J. "Notes on structured concurrency, or: Go statement considered harmful". <https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/>
Describes a structured concurrency system to avoid spaghetti threads.
# Implementation
Bauer, Andrej. _The Programming Languages Zoo_. <http://plzoo.andrej.com/>