The definition of this Prolog library predicate is:
nonmember(Arg,[Arg|_]) :-
!,
fail.
nonmember(Arg,[_|Tail]) :-
!,
nonmember(Arg,Tail).
nonmember(_,[]).
This predicate does not perform any type testing functions.
Success: nonmember(q,[1,2,3,4,5,6,7]). Fail: nonmember(1,[1,2,3]). nonmember(q,[1,2,2,X]). % X and q are unifiable