Uso correto de findall / 3, especialmente o argumento do último resultado

Sou iniciante em Prolog e estou lidando com um problema que pode parecer estúpido para você, mas realmente não consigo entender o que estou fazendo de errado! Ok, eu tenho esse arquivo fruits.pl e dentro dele tenho algo parecido com isto:

fruit(apple,small,sweet).
fruit(lemon,small,nosweet).
fruit(melon,big,sweet).

Eu já (dentro desse arquivo fizemos um átomo coexistente (X, Y) que verifica se duas frutas podem ser colocadas juntas em uma placa. Funciona bem! Mas agora não consigo criar uma sugestão (X) que leva como parâmetro uma fruta e retorna uma lista de frutas que podem ser colocadas juntas no mesmo prato.A coisa é que eu estava tentando fazer algo assim

suggest(X) :- findall(Y,fruit(Y,_,_), List), coexist(X,Y).

O que você acha? Toda vez que tento executar isso no swi prolog, há um aviso 'variável singleton' e quando pressiono

suggest(apple).

então diz falso .. desculpe pelo meu inglês: /

questionAnswers(2)

yourAnswerToTheQuestion