fun fst [a] [b] (x : a) (y : b) = x fun snd [a] [b] (x : a) (y : b) = y fun main () = s <- source ""; s' <- source ""; f <- source (plus 1); f2 <- source fst; r <- source {A = "x", B = "y"}; return

Function: