 and Prolog term types. The types
define a hierarchy with the Prolog type <code class="docutils literal notranslate"><span class="pre">term</span></code> at the root (i.e.,
type-checking a predicate argument of type <code class="docutils literal notranslate"><span class="pre">term</span></code> trivially succeeds).
Some types are only meaningful for backend Prolog systems supporting
non-universal features (e.g., <code class="docutils literal notranslate"><span class="pre">cyclic</span></code> or <code class