Revert "optimization: discard equivalent constraints"

This reverts commit caded4664dcfaa69373aa3c58824b3a62a09d1d3.
Revert "use sets of constraints instead of lists"

This reverts commit b43bb1cb171f2f2275b14b74cdd65fb9c52579e9.
tests
catch left in type errors in function types
unify all constraints in one go
put formal args into own environment
tests
LValue usage of local vars
worklog