Return the function signature
        Returns:
            (str, list(str)): name, list parameters type

def signature(self):
        ''' Return the function signature
        Returns:
            (str, list(str)): name, list parameters type
        '''
        return self.name, [str(x.type) for x in self.elems]