Ciao, se lo stai implementando in una funzione ricorsiva prova a vedere se al livello superiore ti prima il return di quella funzione.
Non so se riesco a spiegarmi correttamente, però non credo che il problema sia al livello del return ma al livello prima di arrivare al return, dunque prova a scrivere print(funz_che_genera_return) e vedi se restituisce true o None. In caso di None il return non sta funzionando.
Spero tu abbia capito e risolverai il problema.
Buon code! (rofl)