1 2 3 4 5 6 7 8 9 10 11
type polyapp = { f : 'a. 'a list -> unit; } let a = [1;2;3] let b = ["ss"; "bb"] let apply { f = f } = f a; f b let () = apply { f = (fun l -> Printf.printf "length %d\n" (List.length l)) }
1 2
length 3 length 2