Type inference now returns the pointer to the value fo the type of subterms in the forall and exists case;
this allows sharing of the Type and Bool constants as only a single instance is created. In addition the
info fields for those returned types are the intended ones.