
6 Dec
2003
6 Dec
'03
2:13 p.m.
f n () = (n, f (n + 1))
In your example, if we assume that "f" has type, say, "a->()->(a,b)", for some "a","b", then it is used, in its own definition, with type "a->()->b".
Oops, should be: ... then it is used ... with type "a->b" (or Num a=>a->b).
... "a->()->b" is not (cannot be) an instance of "a->()->(a,b)" ...
Should be: "a->b" cannot be an instance of "a->()->(a,b)".