--- /dev/null
+# lets
+
+Lets bindings are recursive, and so to handle this the typechecker
+first creates a dependency graph of the bindings with `graph`.
+
+The strongly connected components are then computed with `scss`, and
+then when creating the environment for the let body:
+
+1. For each strongly connected component (scc)
+2. Insert the offsets of each component in the scc into the environment
+3. Codegen the bindings in the scc
+4. Pass on the environment to the next scc