and since i only ever call max_nonempty with a non-empty list, either right here to start the recursion or recursively here, because in the case that i am almost empty, i do not recursively call it on the empty list, i just immediately return.