Jannis
fun <A, B, C>combine(f: (A, C) -> A, g: (B, C) -> B): (Tuple2<A, B>, C) -> Tuple2<A, B> = { (a, b), c -> f(a, c) toT g(b, c) }