type(Type), where Type is one of boolean, atom, integer, float, term ... I don't believe "term" is a valid type. Of course a term is a legitimate type in the context of Prolog, but by valid here, I mean supported by
error.pl. Unless I'm misunderstanding something?