public static IEnumerableAsync <T> MaterializeAsync <T>(this IEnumerableAsync <XmlReader> source, IXmlMaterializer <T> materializer)
 => new MaterializeAsyncEnumerable <T>(source, x => (materializer.TryMaterialize(x, out T value), value));
 public static IEnumerable <T> Materialize <T>(this IEnumerable <XmlReader> source, IXmlMaterializer <T> materializer)
 {
     foreach (XmlReader item in source)
     {
         if (materializer.TryMaterialize(item, out T value))
         {
             yield return(value);
         }
     }
 }