Change the conditions for raising InvalidOverloading
Change test Makefiles to use tput for color
Merge branch 'master' into failing_at_inference
Corrections made to the type inference algorithm.

* class declarations generate bindings for each member
* implement function canonicalize_constraint