Wire up resolver to interpreter Move let-expr resolvability check to Resolver Remove dynamic type checks (checkXXX methods) from interpreter Use numerical indices in resolutions Statically resolve global references Capitalize stuff to match common C# style Replace `with` keyword with `but` Figure out multiple-binding let-expr semantics Clean up visibility Inject error handling into parser and scanner Think about a way to hide record fields - Maybe a compile-time primitive for generating globally unique symbols? Would also need a syntax to use those symbols. - Use @ as an operator to convert a comptime-known string to an identifier