26463a4c00db54d1b67b435d2d7c3404cd8d942e
They do not need to be mutually recursive at all. At first I thought they would have to be, because I thought it would be best if each phase completely desugared the bodies of the expressions they handle, but now I see that would probably lead to an infinite loop. There is simply no reason to couple them so tightly.
Languages
OCaml
99.8%
Dune
0.2%