title: Prevent "Tried to use Provider with a subtype of Listenable/Stream" flutter error
body: <p>I want to use the provider package(4.0) in my flutter project but i get the "Tried to use Provider with a subtype of Listenable/Stream" error/warning.</p>
  
  <p>My constelation:</p>
  
  <p>I have an <code>Api()</code> class which contains base CRUD functionality for firebase-cloudstorage.</p>
  
  <p>I have an <code>EventService()</code>-class which uses the <code>Api()</code>-class with a concrete parameter.</p>
  
  <p>For my view i have a ViewModel class called <code>EventOverviewModel</code> which uses the EventService.</p>
  
  <p>My provider configuration looks like this:</p>
  
  <pre><code>List&lt;SingleChildWidget&gt; providers = [
    ...independentServices,
    ...dependentServices,
    ...uiConsumableProviders,
  ];
  
  // Services die unabhängig von anderen sind
  List&lt;SingleChildWidget&gt; independentServices = [
    Provider&lt;EventService&gt;(create: (_) =&gt; EventService(api: Api('events')))
  ];
  
  // Services die von anderen Services abhängig sind
  List&lt;SingleChildWidget&gt; dependentServices = [
    ProxyProvider&lt;EventService, EventOverviewModel&gt;(
      update: (_, srvc, __) =&gt; EventOverviewModel(eventService: srvc),
    )
  ];
  
  List&lt;SingleChildWidget&gt; uiConsumableProviders = [];
  </code></pre>
  
  <p>Everything seems to work in the application but i get the "Tried to use Provider with a subtype of Listenable/Stream" anyway. </p>
  
  <p>How should i change my code to not getting this error message anymore? </p>
  
  <pre><code>Running Gradle task 'assembleDebug'...
  I/flutter (16553): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
  I/flutter (16553): The following assertion was thrown building NumericProxyProvider&lt;EventService, Void, Void, Void,
  I/flutter (16553): Void, Void, EventOverviewModel&gt;(dirty, dependencies: [InheritedProvider&lt;EventService&gt;], state:
  I/flutter (16553): _ProxyProviderState&lt;EventOverviewModel&gt;#8d38d):
  I/flutter (16553): Tried to use Provider with a subtype of Listenable/Stream (EventOverviewModel).
  I/flutter (16553): 
  I/flutter (16553): This is likely a mistake, as Provider will not automatically update dependents
  I/flutter (16553): when EventOverviewModel is updated. Instead, consider changing Provider for more specific
  I/flutter (16553): implementation that handles the update mechanism, such as:
  I/flutter (16553): 
  I/flutter (16553): - ListenableProvider
  I/flutter (16553): - ChangeNotifierProvider
  I/flutter (16553): - ValueListenableProvider
  I/flutter (16553): - StreamProvider
  I/flutter (16553): 
  I/flutter (16553): Alternatively, if you are making your own provider, consider using InheritedProvider.
  I/flutter (16553): 
  I/flutter (16553): If you think that this is not an error, you can disable this check by setting
  I/flutter (16553): Provider.debugCheckInvalidValueType to `null` in your main file:
  I/flutter (16553): 
  I/flutter (16553): ```
  I/flutter (16553): void main() {
  I/flutter (16553):   Provider.debugCheckInvalidValueType = null;
  I/flutter (16553): 
  I/flutter (16553):   runApp(MyApp());
  I/flutter (16553): }
  I/flutter (16553): ```
  I/flutter (16553): 
  I/flutter (16553): 
  I/flutter (16553): The relevant error-causing widget was:
  I/flutter (16553):   NumericProxyProvider&lt;EventService, Void, Void, Void, Void, Void, EventOverviewModel&gt;
  I/flutter (16553):   file:///E:/Dev/flutter/.pub-cache/hosted/pub.dartlang.org/provider-3.2.0/lib/src/proxy_provider.dart:232:12
  I/flutter (16553): 
  I/flutter (16553): When the exception was thrown, this was the stack:
  I/flutter (16553): #0      Provider.debugCheckInvalidValueType.&lt;anonymous closure&gt;.&lt;anonymous ...
  </code></pre>