When type checking let foo() { 4 }. Initially a fresh type variable is introduce to represent the return type. Later on this type variable is unified with an int and ideally should no longer exist. The current unification table keeps the type variable around forever.
When type checking
let foo() { 4 }. Initially a fresh type variable is introduce to represent the return type. Later on this type variable is unified with an int and ideally should no longer exist. The current unification table keeps the type variable around forever.