private static EquationSystemKind ValidateKind(EquationSystemKind kind)
        {
            if (kind != EquationSystemKind.Intersection && kind != EquationSystemKind.Union)
            {
                throw new ArgumentOutOfRangeException(nameof(kind));
            }

            return(kind);
        }
 public MultipleSymbolicEquationSystem(EquationSystemKind kind, IEnumerable <SymbolicEquationSystem> equations)
 {
     Kind      = ValidateKind(kind);
     Equations = equations.ToImmutableArray();
 }
 public MultipleSymbolicEquationSystem(EquationSystemKind kind, ImmutableArray <SymbolicEquationSystem> equations)
 {
     Kind      = ValidateKind(kind);
     Equations = equations;
 }