>>346
表現がいろいろ足らなくて申し訳ありません。
ようやく思い違いに気づきました。
Tes(t->s)と書いた時のt->sは抽象化された型tから型sへの写像ではなく
具体的にt->sと定義された関数のことだったんですね・・・
マッチができないのも納得できました。

>>347
OCamlだと型が関数のように引数を受け取れないので少し表現するのが難しい感じです・・・
具体的には(勘違いだったんですが)
f (Tes x) =
let (t->s) = x in
Tes(s->t)
みたいに表現できるのかな?と思っていました。

皆様返信ありがとうございました。もう少し実装する関数を見なおしてみます。