/**
 * This function finds the intersection of given sets based on provided examples.
 *
 * @param examples A list of example sets.
 * @param sets A list of sets to find intersection from.
 * @return The intersection set calculated based on examples.
 */
fun intersectionOfExamplesAndSets(examples: List<Set<Any>>, sets: List<Set<Any>>): Set<Any> {

    var intersection = sets[0]

    for (example in examples) {
        intersection = intersection.intersect(example)
    }

    return intersection
}
/**
 * This function finds the intersection of given sets based on provided examples.
 *
 * @param examples A list of example sets.
 * @param sets A list of sets to find intersection from.
 * @return The intersection set calculated based on examples.
 */
fun intersectionOfExamplesAndSets(examples: List<Set<Any>>, sets: List<Set<Any>>): Set<Any> {
/**
 * This function finds the intersection of given sets based on provided examples.
 *
 * @param examples A list of example sets.
 * @param sets A list of sets to find intersection from.
 * @return The intersection set calculated based on examples.
 */
fun intersectionOfExamplesAndSets(examples: List<Set<Any>>, sets: List<Set<Any>>): Set<Any> {

    var intersection = sets[0]

    for (example in examples) {
        intersection = intersection.intersect(example)
    }

    return intersection
}