Closer.  Looked like results are getting interspersed.  Until I get that sorted
out I cannot tell if it is working at all.  Looks badly in need of
caching/memoization.