Prolog conta o número de vezes que um predicado é verdadeiro

Eu quero contar o número de vezes que um predicado personalizado é verdadeiro. Por exemplo, eu tenho o seguinte código:

is_man(john).
is_man(alex).
?:-is_man(X).

X retornará john; se eu pressionar ponto e vírgula, ele também retornará alex, e fals

Quero criar algo como:

count(is_man(X), Count).

E isso para retornar

Count = 2

Como eu posso fazer isso

questionAnswers(3)

yourAnswerToTheQuestion