A workaround for the difficulties of dealing with a contravariant 'In' parameter type.
A Rule is a function from some input to a Result.
A factory for rules.
A factory for rules that apply to a particular context.
Represents the combined value of two rules applied in sequence.