# let func1 f = f "a string";; val func1 : (string -> 'a) -> 'a = # let func2 s = "func2 called with " ^ s;; val func2 : string -> string = # print_endline (func1 func2);; func2 called with a string - : unit = ()