Problem
Design a generic unit that implements sets. A set is an unordered collection of values in which no value is duplicated. Parameterize your generic unit with respect to the type of the values in the set. Provide an operation that constructs an empty set, an operation that adds a given value to a set, an operation that unites two sets, and an operation that tests whether a given value is contained in a set. Implement your generic unit in either ADA, C++, or JAVA. Assume as little as possible about the type of the values in the set. What assumption(s) are you absolutely forced to make about that type?