Can you tag this as tail recursive?