Split the MakeXXX typeclasses into two, and add Hint Modes for them.
They are split into: 1- KnownMakeXXX , which only works if the parameter is not an evar. Hence, it will never force this evar to becomes e.g., emp or True. 2- MakeXXX, which works even if this is an evar, but it only has instances that will not instanciate arbitrarilly this evar.
Showing with 156 additions and 71 deletions