private bool FixAll(Predicate<InferredType> predicate)
{
bool wasFixed = false;
foreach (KeyValuePair<IGenericParameter, InferredType> kvp in _inferredTypes)
{
IGenericParameter gp = kvp.Key;
InferredType inferredType = kvp.Value;
if (!inferredType.Fixed && predicate(inferredType))
{
wasFixed |= Fix(gp, inferredType);
}
}
return wasFixed;
}