TypeEnsurer
Base class for unary predicates (arity 1) that always succeed if their argument is of the expected type, and throw otherwise, rather than merely testing and failing on mismatch (contrast with TypeTester). ensureType is expected to throw (typically a it.unibo.tuprolog.solve.exception.error.TypeError) on a mismatching term, and return normally otherwise.