implement a more general improveSeed

that drops elements until it finds something interesting to say.  If it
drops < depth, it delegates to expandSeed, which may drop all the way to
0 and select a random init.