Register code validation routines. Each clause defines a Goal which
performs a consistency check executed by check/0. Message is a short
description of the check. For example, assuming the my_checks
module defines a predicate list_format_mistakes/0:
:- multifile check:checker/2.
check:checker(my_checks:list_format_mistakes,
"errors with format/2 arguments").
The predicate is dynamic, so you can disable checks with retract/1.
For example, to stop reporting redefined predicates:
retract(check:checker(list_redefined,_)).