For strategies which draw make recursive draws, including
"recursive()" and "deferred()", we now generate examples with
duplicated subtrees more often. This tends to uncover interesting
behavior in tests.
For instance, we might now generate a tree like this more often
(though the details depend on the strategy):
┌─────┐
┌──────┤ a ├──────┐
│ └─────┘ │
┌──┴──┐ ┌──┴──┐
│ b │ │ a │
└──┬──┘ └──┬──┘
┌────┴────┐ ┌────┴────┐
┌──┴──┐ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐
│ c │ │ d │ │ b │ │ ... │
└─────┘ └─────┘ └──┬──┘ └─────┘
┌────┴────┐
┌──┴──┐ ┌──┴──┐
│ c │ │ d │
└─────┘ └─────┘
The canonical version of these notes (with links) is on readthedocs.