<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def possible_forms(self):
 """ Generate a list of possible forms for the current lemma :returns: List of possible forms for the current lemma :rtype: [str] """

        forms = []
        for morph in self.modele().morphos():
            for desinence in self.modele().desinences(morph):
                radicaux = self.radical(desinence.numRad())
                if isinstance(radicaux, Radical):
                    forms.append(radicaux.gr() + desinence.gr())
                else:
                    for rad in radicaux:
                        forms.append(rad.gr() + desinence.gr())
        return list(set(forms))