What does
let x = (fun () -> 2) in let y = (fun () -> 3) in match true with true -> x | false -> y;;
evaluate to?