Polymorphism

let f x = x in
  begin
    f 1;
    f "2";
  end

はOKで、

(fun f ->
  begin
    f 1;
    f "2";
  end) (fun x -> x)

がダメというのは知っていたが、よく考えると

fun f ->
  begin
    f 1;
    f "2";
  end

だけでもダメなんだった。

よく考えると、っていうか、試したんだけど。