'Return a list of the names in the formula. The order of the
names corresponds to the order of the columns when self
is evaluated.'

def names(self):

    allnames = []
    for term in self.terms:
        allnames += term.names()
    return allnames
