This annotated bibliography is very much under construction!
The overall macro expander uses Flatt's set-of-scopes algorithm for hygiene: https://www.cs.utah.edu/plt/publications/popl16-f.pdf
The module system is based on Racket's: https://www.cs.utah.edu/plt/publications/macromod.pdf
We'd like to find a way to do the things described in Macros that Work Together, but with types. It's mostly just design sketches so far for us. We expect that we can adapt the design of MetaPRL's resources to replace compile-time bindings, at least.
The type checker is based on Sestoft's description in Programming Language Concepts. It uses Rémy's optimization of generalization, where type metavariables are assigned levels to avoid scanning the context at generalization time.
LVars have been used to parallelize type checkers.
These systems have some form of type-aware hygienic macro, or other typed metaprogramming.
Lean's macros are the closest thing to Klister right now.
MetaML is a staged programming system rather than a macro system, but it pays to be familiar with it.
MacroML compiles down to MetaML, and thus provides very strong guarantees. It's less expressive than a full procedural macro system, though.