A dynamic predicate, which can be defined by the user to change the
behaviour of print/1
on (sub)terms. For each subterm encountered that is not a variable print/1
first calls portray/1
using the term as argument. For lists, only the list as a whole is given
assumes the term has been written.