Support.Format_state
Format combinators using the Format
module, but using a state having a Format.formatter
state.
This is used to faciliate pretty-printing using a custom definition of state. In particular, pretty-printing of the external syntax requires keeping track of constant declarations and notation pragmas while a Beluga signature is being pretty-printed.