select-h: use zippers for easier recursion

That was far too easy.