The parameter is optional to avoid breaking consumers, but internal callers should probably always pass format settings.