α × α → β × β *) let map pair = λ f. λ x. (f(fst(x), f(snd(x)))) let int pair = map pair int of float (3.14, 2.718) มޙ let int pair = let y = map pair (λ x. wrap(int) (int of float (unwrap(float)(x)))) (wrap(float)(3.14), wrap(float)(2.718)) in (unwrap(int)(fst(y)), unwrap(int)(snd(y))) ଟ૬తͳ box Խ͞Ε͍ͯΔ͜ͱʹҙɻ ଟ૬ؔͷݺͼग़͠ଆͰ unbox ͯ͠Δɻ 14 / 37