Tipp für SML-Typinferenz

Ich bin neu in SML und versuche, die SML-Typreferenz zu üben. Ich versuche, die folgenden Typen abzuziehen:

a)fun add42 x =x+42
b)fun comp F G = let fun C x = G(F(x)) in C end
c)fun compA42 x = comp add42 x
d)val foo = compA42 add42
e)fun compCompA42 x = comp compA42 x

Ich denke, die Lösungen für die ersten vier sind:

a)int->int
b)(a->b)->(b->c)->a->c
c)(int->a)->int->a
d)int->int

Aber ich bin ein bisschen verwirrt über den letzten. Gibt es einen Hinweis, den letzten Typ abzuziehen ??

Danke vielmals

Antworten auf die Frage(2)

Ihre Antwort auf die Frage