(C) -> (A, B) = ((C) -> A, (C) -> B)
//
こちらも同じく合っているかはわからないです
func to(_ f: @escaping (C) -> (A, B)) -> ((C) -> A, (C) -> B) {
return (
{ c in return f(c).0 },
{ c in return f(c).1 }
)
}
func from(_ f: ((C) -> A, (C) -> B)) -> (C) -> (A, B) {
return { c in
let a = f.0(c)
let b = f.1(c)
return (a, b)
}
}
36