Quero contar as ocorrências de um elemento em uma lista

Quero contar as ocorrências de um elemento em uma lista e, se houver, o predicado exclusivo será verdadeiro, e falso. No entanto, se o elemento ocorrer mais de uma vez, o Prolog considerará verdadeiro. Não sei o que fazer ...

count([], X, 0).
count([X|T], X, Y) :- count(T, X, Z), Y is 1+Z, write(Z).
count([_|T], X, Z) :- count(T, X, Z).

unique(St, [Y|RestList]) :- count([Y|RestList], St, N), N =:= 1.

questionAnswers(2)

yourAnswerToTheQuestion