template<T> T inc(T a){return a + 1; }
と型変数定義を書くことなく
inc(a) { return a + 1; }
と書いて型推論されたりするといいよな
[a] inc([a] a) { return a + 1; }
って感じに。型変数の記述方法でC言語系統にあう記法ってないかな?
って話です。

T -> a' -> ?
に対する期待した結果は a'はocamlの型変数に似ていますが'aの間違いです。
といったメッセージが表示されることです。
?は可能性爆発するのでそれなりの計算途中の状態が表示されることです。