頭の悪いformat

OCamlの自慢らしいタイプセーフprintf。
型がついているということはcamlp4では無くてOCamlの構文の上に乗っているということですよね……。

# Printf.printf "%d";;
- : int -> unit = <fun>
# Printf.printf "%d %d";;
- : int -> int -> unit = <fun>
# Printf.printf "%s";;
- : string -> unit = <fun>
# Printf.printf;;
- : ('a, out_channel, unit) format -> 'a = <fun>
# Printf.printf 1;;
Characters 14-15:
  Printf.printf 1;;
                ^
This expression has type int but is here used with type
  ('a, out_channel, unit) format =
    ('a, out_channel, unit, unit, unit, unit) format6
# ("%d" : ('a, out_channel, unit) format);;
- : (int -> unit, out_channel, unit) format = <abstr>

結論。コンパイラマジックによって文字列定数は('a, out_channel, unit) format型として解釈されるようです。'aは文字列の中身によって変化するようです。
何の事は無くPascalのWriteLnやBASICのPRINT USINGと変わらないつまらない結論になりそうです……いや、きっと凄い仕組みが隠されているに違いない!そうだそうだそうに違いない!