+
+/* An interaction is a structure containing a "product" of other variables.
+ The variables can be either string or numeric.
+
+ Interaction is commutative. That means, that from a mathematical point of
+ view, the order of the variables is irrelevant. However, for display
+ purposes, and for matching with an interaction's value the order is
+ pertinent. Therefore, when using these functions, make sure the orders of
+ variables and values match when appropriate.
+
+ Some functions for interactions will not work properly for interactions that
+ contain a given variable more than once, so this should be regarded as an
+ invariant. The functions to modify interactions don't check for this
+ invariant. */