A return code might be better than the true / false. Will allow early escape when we reach a depth with insufficient nodes below it.