/**
 * This function takes two tuples as input and concatenates them.
 *
 * @param t1 the first tuple
 * @param t2 the second tuple
 * @return A new tuple resulting from the concatenation of t1 and t2.
 */
fun tupleConcatenation(t1: List<Any>, t2: List<Any>): List<Any> {

    // Initialize an empty list to store the concatenated elements
    val concatenated = mutableListOf<Any>()

    // Iterate over the elements in the first tuple and append them to the concatenated list
    for (element in t1) {
        concatenated.add(element)
    }

    // Iterate over the elements in the second tuple and append them to the concatenated list
    for (element in t2) {
        concatenated.add(element)
    }

    // Return the concatenated list
    return concatenated
}
/**
 * This function takes two tuples as input and concatenates them.
 *
 * @param t1 the first tuple
 * @param t2 the second tuple
 * @return A new tuple resulting from the concatenation of t1 and t2.
 */
fun tupleConcatenation(t1: List<Any>, t2: List<Any>): List<Any> {
/**
 * This function takes two tuples as input and concatenates them.
 *
 * @param t1 the first tuple
 * @param t2 the second tuple
 * @return A new tuple resulting from the concatenation of t1 and t2.
 */
fun tupleConcatenation(t1: List<Any>, t2: List<Any>): List<Any> {

    // Initialize an empty list to store the concatenated elements
    val concatenated = mutableListOf<Any>()

    // Iterate over the elements in the first tuple and append them to the concatenated list
    for (element in t1) {
        concatenated.add(element)
    }

    // Iterate over the elements in the second tuple and append them to the concatenated list
    for (element in t2) {
        concatenated.add(element)
    }

    // Return the concatenated list
    return concatenated
}