Swift SetProduct Generic set product implemented in Swift Limitations: Only can multiply 2 or 3 sets No set exponenent Tuple's must be manually wrapped in CollectionFromTuple()