public static bool IsLoaderTypeCandidate(Type type) { if (!type.IsConcreteWithDefaultCtor()) return false; if (type.Closes(typeof (IApplicationSource<,>))) return true; return type.CanBeCastTo<IApplicationLoader>(); }