<PackageReference Include="System.Reactive" Version="6.0.2" />

IProducer<TSource>

interface IProducer<TSource> : IObservable<TSource>
Interface with variance annotation; allows for better type checking when detecting capabilities in SubscribeSafe.
using System.Runtime.CompilerServices; namespace System.Reactive { [System.Runtime.CompilerServices.NullableContext(1)] internal interface IProducer<[System.Runtime.CompilerServices.Nullable(2)] out TSource> : IObservable<TSource> { IDisposable SubscribeRaw(IObserver<TSource> observer, bool enableSafeguard); } }