How to infer u
as '{:a Num}
in
(inc (:a u))
Step 1:
Import u
as type Unchecked(u)
Step 2:
Return of (:a u)
is Unchecked(key_:a(u))
Step 3:
inc
must take a Num
, so must cast Unchecked(key_:a(u))
to Int
.
Step 4:
Therefore key_:a(u) == Int, so u
: `'{:a Int}.