El código recursivo devuelve Ninguno [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Por qué mi función Python recursiva no devuelve ninguno? 4 respuestas

Realmente no entiendo, ¿por qué el código

def isIn(char, aStr): 
    ms = len(aStr)/2
    if aStr[ms] == char:
        print 'i am here now'
        return True
    elif char>aStr[ms] and not ms == len(aStr)-1:
        aStr = aStr[ms+1:]
    elif char <aStr[ms] and not ms == 0:
        aStr = aStr[0:ms]
    else:
        return False
    isIn(char, aStr)

print isIn('a', 'ab')

sigue regresando Ninguno. imprime 'estoy aquí ahora', pero no devuelve True, tal como dice la siguiente línea. ¿Por qué

Respuestas a la pregunta(1)

Su respuesta a la pregunta