diff --git a/IPA.Loader/Utilities/EnumerableExtensions.cs b/IPA.Loader/Utilities/EnumerableExtensions.cs
index 3605deac..fa2978dc 100644
--- a/IPA.Loader/Utilities/EnumerableExtensions.cs
+++ b/IPA.Loader/Utilities/EnumerableExtensions.cs
@@ -165,7 +165,7 @@ namespace IPA.Utilities
}
///
- /// LINQ extension method that filters elements out of an enumeration.
+ /// LINQ-style extension method that filters elements out of an enumeration.
///
/// the type of the enumeration
/// the enumeration to filter
@@ -174,7 +174,7 @@ namespace IPA.Utilities
=> self.Where(o => o != null);
///
- /// LINQ extension method that filters elements out of an enumeration based on a converter.
+ /// LINQ-style extension method that filters elements out of an enumeration based on a converter.
///
/// the type of the enumeration
/// the type to compare to null
@@ -185,7 +185,7 @@ namespace IPA.Utilities
=> self.Where(o => pred(o) != null);
///
- /// LINQ extension method that filters elements from an enumeration of nullable types.
+ /// LINQ-style extension method that filters elements from an enumeration of nullable types.
///
/// the underlying type of the nullable enumeration
/// the enumeration to filter
@@ -193,5 +193,15 @@ namespace IPA.Utilities
public static IEnumerable NonNull(this IEnumerable self) where T : struct
=> self.Where(o => o != null).Select(o => o.Value);
+ ///
+ /// LINQ-style extension method that filters elements out of an enumeration based on a converter to a nullable type.
+ ///
+ /// the type of the enumeration
+ /// the type of the predicate's resulting nullable
+ /// the enumeration to filter
+ /// the predicate to select for filtering
+ /// a filtered enumerable
+ public static IEnumerable NonNull(this IEnumerable self, Func pred) where U : struct
+ => self.Where(o => pred(o) != null);
}
}