fix ProducedType.toString() where qualifying type is union/intersection