/**
 * This function takes two tuples as input and returns a list containing the common elements between them.
 *
 * @param t1 The first input tuple
 * @param t2 The second input tuple
 * @return A new list with common elements between t1 and t2
 */
fun elementIntersection(t1: List<Any>, t2: List<Any>): List<Any> {

    val set1 = t1.toSet()
    val set2 = t2.toSet()
    return set1.intersect(set2).toList()
}
/**
 * This function takes two tuples as input and returns a list containing the common elements between them.
 *
 * @param t1 The first input tuple
 * @param t2 The second input tuple
 * @return A new list with common elements between t1 and t2
 */
fun elementIntersection(t1: List<Any>, t2: List<Any>): List<Any> {
/**
 * This function takes two tuples as input and returns a list containing the common elements between them.
 *
 * @param t1 The first input tuple
 * @param t2 The second input tuple
 * @return A new list with common elements between t1 and t2
 */
fun elementIntersection(t1: List<Any>, t2: List<Any>): List<Any> {

    val set1 = t1.toSet()
    val set2 = t2.toSet()
    return set1.intersect(set2).toList()
}