A type error expresses that a term does not satisfy the 
expected basic Prolog type.
- PlTypeError :: PlTypeError(const std::string& 
expected, const PlTerm &actual)
- Creates an ISO standard Prolog error term expressing the
expected type and actual term that does not 
satisfy this type.