func NetworkError(defaults bool) func(error) bool {
	return func(err error) bool {
		if err, is := err.(net.Error); is {
			return err.Temporary() || err.Timeout()
		}
		return defaults
	}
}
NetworkError creates an error Handler that checks an error and returns true
if an error is the temporary network error.
The Handler returns the defaults if an error is not a network error.
package sandbox
import "net"
const (
	Skip = true
	Stop = false
)
type Breaker = interface {
	Done() <-chan struct{}
	Err() error
}
type ErrorHandler = func(error) bool
func CheckError(handlers ...func(error) bool) func(Breaker, uint, error) bool {
	type retriable interface {
		error
		Retriable() bool  
	}
	return func(_ Breaker, _ uint, err error) bool {
		if err == nil {
			return true
		}
		if err, is := err.(retriable); is {
			return err.Retriable()
		}
		for _, handle := range handlers {
			if !handle(err) {
				return false
			}
		}
		return true
	}
}