for (ProducedType st: upperBounds) {
addToIntersection(list, st, unit);
}
IntersectionType it = new IntersectionType(unit);
it.setSatisfiedTypes(list);
if (it.canonicalize().getType().isNothing()) {
that.addError(typeDescription(td, unit) +
" has unsatisfiable upper bound constraints: the constraints '" +
typeNamesAsIntersection(upperBounds, unit) +
"' cannot be satisfied by any type except 'Nothing'");
}