func ChainIdentity(ctx context.Context, e *executor.Event, err error) (context.Context, *executor.Event, error) {
	return ctx, e, err
}
ChainIdentity is a Chain that returns the arguments as its results.
package eventrules
import (
	"context"
	"fmt"
	"sync"
	"github.com/mesos/mesos-go/api/v1/lib/executor"
)
type (
	evaler interface {
		Eval(context.Context, *executor.Event, error, Chain) (context.Context, *executor.Event, error)
	}
	Rule func(context.Context, *executor.Event, error, Chain) (context.Context, *executor.Event, error)
	Chain func(context.Context, *executor.Event, error) (context.Context, *executor.Event, error)
	Rules []Rule
	ErrorList []error
)
var (
	_ = evaler(Rule(nil))
	_ = evaler(Rules{})
)