4.3Extending the Pretty-Printer

As described in Extending the Language, it is possible to extend the language with custom forms.
The pretty-printer can be extended with extra matchers that recognize just their form types and
produce pretty-printed docs. Matchers should simple fail to match (raising the same error
as (match) would for anything other than the forms they recognize.

Applies a formatter to an extensible list of terms (such as an ExpressionList/X or StatementList/X).
If the formatter fails to match, the current value of the param parameter is used to format the elements
instead.