Îõ³h& š Æ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE Safe-Inferred*"')*-/0125689:; Pat and mkE :: [Exp] -> Exp¥ deals with unpacking input value and packing final results respectively. This generalization allows us to deal with lists, tuples, and unboxed-tuples all at once.sorting-networkmkUnsafeSortListBy mkPairs n! generates an expression of type "(a -> a -> Ordering) -> [a] -> [a].ÓNote that resulting function is partial and requires input list to contain exactly n elements.sorting-networkmkSortTupBy mkPairs n! generates an expression of type 2(a -> a -> Ordering) -> (a, a, ...) -> (a, a, ...).!Where the input and output tuple  (a, a, ...) contains n elements. Safe-Inferred*"')*-/0125689:;?@ABCDE6543210/.-,+*)(EDCBA@?>=<;:987 Safe-Inferred+"')*-/0125689:;