keep it lazy

This is obviously a significant bottleneck since it prevents
the shrinking process from being completely lazy. So as a consequence
of this fix check runs significantly faster now.
realize the nodes in the shrink loop

Using empty on an iterator won't give much joy.
add preliminiary option for rudimentary trial run feedback
add slightly more realistic example