We can support retry behavior composition either by exposing the handler property or providing a new function evaluate(for:with:attempt:callback:) (that just calls the handler).
Alternatively we could do more explicit composition that lets you join together two retry behaviors, such that it will invoke the first, and if that says "don't retry" it will then invoke the second.