private static string StripGenericQualification(Type type)
{
if (!type.IsGenericType) return type.FullName;
var genericArgs = type.GetGenericArguments().Select(arg => arg.Name);
return type.Namespace + "." + type.Name + "-" + string.Join("-", genericArgs);
}