def METHOD_NAME(config_schema_snapshot, config_type_key, print_fn, with_lines):
    check.inst_param(config_schema_snapshot, "config_schema_snapshot", ConfigSchemaSnapshot)
    check.str_param(config_type_key, "config_type_key")
    check.callable_param(print_fn, "print_fn")
    check.bool_param(with_lines, "with_lines")
    if with_lines:
        printer = IndentingPrinter(printer=print_fn)
    else:
        printer = IndentingPrinter(printer=print_fn, indent_level=0)
    _do_print(config_schema_snapshot, config_type_key, printer, with_lines=with_lines)
    printer.line("")