華麗に型推論をすり抜ける

誤:

print_string(
  (Printf.sprintf "%s = %s;\n"      "a" "b") ^
  (Printf.sprintf "%s = %s + %s;\n" "a" "b")
  (Printf.sprintf "%s = %s;\n"      "a" "b")
)

正:

print_string(
  (Printf.sprintf "%s = %s;\n"      "a" "b") ^
  (Printf.sprintf "%s = %s + %s;\n" "a" "b" "c") ^
  (Printf.sprintf "%s = %s;\n"      "a" "b")
)

sprintfの引数を一つ書き忘れて、かつ ^ 演算子を書き忘れ。
これが組み合わさって型推論的には問題なし。

# まぁ出力が明らかにおかしいからすぐ気づいたんだけどね。