type none (X -> o) -> list X -> o.
main :- (X = none; X = some 2).
In the code above, the type checker complains that there are too many
types that could be assigned to X. However, the term
X = some 2 fixes the type of X, removing the
ambiguity.
Should the type checker be more clever?
In the code above, the type checker complains that there are too many
types that could be assigned to
X. However, the termX = some 2fixes the type ofX, removing theambiguity.
Should the type checker be more clever?