private static bool IsBound(this ITypeParameter typeParameter, ISubstitution substitution) { if (!substitution.Domain.Contains(typeParameter)) { return(false); } if (substitution.IsId()) { return(false); } var targetType = substitution[typeParameter]; var targetTypeParameter = targetType.GetTypeElement <ITypeParameter>(); if (targetTypeParameter == null) { return(true); } var o1 = typeParameter.Owner; var o2 = targetTypeParameter.Owner; return(!o1.Equals(o2)); }