func NewChainingSet(rules []Rule) *ChainingSet {
	return &ChainingSet{
		rules: rules,
	}
}
NewChainingSet creates a new chaining set
package rules
type Set interface {
	Rules() []Rule
}
type ChainingSet struct {
	rules []Rule
}