Recursión de Python con devoluciones de lista Ninguno

def foo(a): a.append(1) if len(a) > 10: print a return a else: foo(a) 

¿Por qué esta función recursiva devuelve Ninguna (vea la transcripción a continuación)? No puedo entender bien lo que estoy haciendo mal.

 En [263]: x = []

 En [264]: y = foo (x)
 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

 En [265]: imprimir y
 Ninguna

No devuelves nada en la cláusula else :

  else: return foo(a)