Improving polymorphic type explanations