AttributeError: у объекта NoneType нет атрибута append

У меня странная проблема с передачей списком в качестве параметра функции python. Вот код:

def foobar(depth, top, bottom, n=len(listTop)):
    print dir(top)
    print top.append("hi")
    if depth > 0:
        exit()
    foobar(depth+1, top.append(listTop[i]), bottom.append(listBottom[i]))

top = bottom = []
foobar(0, top, bottom)

Он говорит: «AttributeError: у объекта« NoneType »нет атрибута« append »», потому что top - это None в foobar, хотя dir (top) печатает полный список атрибутов и методов списка типов. Так что не так? Я просто хотел передать два списка в качестве параметров этой рекурсивной функции.