How would you add non-determinism?
What I had thought was using backtracking: if the type checker fails with the first meaning of all functions it backtracks, tries the next meaning of the last function encountered, and so on until it finds a working combination
What I had thought was using backtracking: if the type checker fails with the first meaning of all functions it backtracks, tries the next meaning of the last function encountered, and so on until it finds a working combination