浏览代码

4.x: Cleanup unnecessary type arguments/usings

Dávid Karnok 7 年之前
父节点
当前提交
c24eaf5cff
共有 69 个文件被更改,包括 798 次插入845 次删除
  1. 7 0
      Rx.NET/Source/Rx.ruleset
  2. 7 0
      Rx.NET/Source/Test.ruleset
  3. 1 0
      Rx.NET/Source/src/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing.csproj
  4. 0 1
      Rx.NET/Source/src/System.Reactive/AnonymousSafeObserver.cs
  5. 1 1
      Rx.NET/Source/src/System.Reactive/Concurrency/EventLoopScheduler.cs
  6. 1 2
      Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Async.cs
  7. 1 2
      Rx.NET/Source/src/System.Reactive/Concurrency/SchedulerWrapper.cs
  8. 1 2
      Rx.NET/Source/src/System.Reactive/Concurrency/VirtualTimeScheduler.cs
  9. 0 1
      Rx.NET/Source/src/System.Reactive/Internal/PriorityQueue.cs
  10. 0 1
      Rx.NET/Source/src/System.Reactive/Linq/LocalQueryMethodImplementationTypeAttribute.cs
  11. 93 93
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Aggregates.cs
  12. 105 105
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Async.cs
  13. 4 5
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Awaiter.cs
  14. 27 27
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Binding.cs
  15. 22 22
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Blocking.cs
  16. 6 6
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Concurrency.cs
  17. 7 7
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Conversions.cs
  18. 23 24
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Creation.cs
  19. 38 39
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Events.cs
  20. 14 14
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Imperative.cs
  21. 4 5
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Joins.cs
  22. 75 75
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Multiple.cs
  23. 37 36
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Single.cs
  24. 54 54
      Rx.NET/Source/src/System.Reactive/Linq/Observable.StandardSequenceOperators.cs
  25. 67 67
      Rx.NET/Source/src/System.Reactive/Linq/Observable.Time.cs
  26. 0 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/AmbMany.cs
  27. 0 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Case.cs
  28. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/CombineLatest.cs
  29. 0 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Defer.cs
  30. 4 4
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Delay.cs
  31. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/ElementAtOrDefault.cs
  32. 0 3
      Rx.NET/Source/src/System.Reactive/Linq/Observable/FirstLastBlocking.cs
  33. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/FirstOrDefaultAsync.cs
  34. 0 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/FromEventPattern.cs
  35. 0 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/If.cs
  36. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Materialize.cs
  37. 0 4
      Rx.NET/Source/src/System.Reactive/Linq/Observable/RepeatWhen.cs
  38. 0 3
      Rx.NET/Source/src/System.Reactive/Linq/Observable/RetryWhen.cs
  39. 0 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Return.cs
  40. 3 3
      Rx.NET/Source/src/System.Reactive/Linq/Observable/SkipLast.cs
  41. 0 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/SkipUntil.cs
  42. 3 3
      Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeLastBuffer.cs
  43. 0 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeUntil.cs
  44. 0 4
      Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeUntilPredicate.cs
  45. 0 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Throw.cs
  46. 4 4
      Rx.NET/Source/src/System.Reactive/Linq/Observable/TimeInterval.cs
  47. 10 10
      Rx.NET/Source/src/System.Reactive/Linq/ObservableEx.cs
  48. 0 3
      Rx.NET/Source/src/System.Reactive/Linq/Qbservable.Generated.cs
  49. 0 7
      Rx.NET/Source/src/System.Reactive/Linq/QbservableEx.Generated.cs
  50. 3 3
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Awaiter.cs
  51. 0 1
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Binding.cs
  52. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Blocking.cs
  53. 4 4
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Concurrency.cs
  54. 2 3
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Conversions.cs
  55. 3 5
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Creation.cs
  56. 8 11
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Events.cs
  57. 0 1
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Imperative.cs
  58. 29 29
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Multiple.cs
  59. 12 13
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Single.cs
  60. 26 26
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.StandardSequenceOperators.cs
  61. 63 65
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Time.cs
  62. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/QueryLanguageEx.cs
  63. 2 3
      Rx.NET/Source/src/System.Reactive/ObservableQuery.cs
  64. 5 5
      Rx.NET/Source/src/System.Reactive/Observer.Extensions.cs
  65. 3 5
      Rx.NET/Source/src/System.Reactive/Platforms/UWP/Linq/AsyncInfoObservable.cs
  66. 0 1
      Rx.NET/Source/src/System.Reactive/Subjects/ConnectableObservable.cs
  67. 1 1
      Rx.NET/Source/src/System.Reactive/Unit.cs
  68. 6 7
      Rx.NET/Source/tests/Tests.System.Reactive/Tests/ArgumentValidationTest.cs
  69. 4 5
      Rx.NET/Source/tests/Tests.System.Reactive/Tests/Linq/Observable/TimerTest.cs

+ 7 - 0
Rx.NET/Source/Rx.ruleset

@@ -218,5 +218,12 @@
     <Rule Id="CA2241" Action="Warning" />
     <Rule Id="CA2241" Action="Warning" />
     <Rule Id="CA2242" Action="Warning" />
     <Rule Id="CA2242" Action="Warning" />
     <Rule Id="CA2243" Action="Warning" />
     <Rule Id="CA2243" Action="Warning" />
+    <!--
+    <Rule Id="IDE0001" Action="Warning" />
+    <Rule Id="IDE0003" Action="Warning" />
+    <Rule Id="IDE0004" Action="Warning" />
+    <Rule Id="IDE0005" Action="Warning" />
+    <Rule Id="IDE0034" Action="Warning" />
+    -->
   </Rules>
   </Rules>
 </RuleSet>
 </RuleSet>

+ 7 - 0
Rx.NET/Source/Test.ruleset

@@ -2,6 +2,13 @@
 <RuleSet Name="Test Rule Set" Description=" " ToolsVersion="10.0">
 <RuleSet Name="Test Rule Set" Description=" " ToolsVersion="10.0">
   <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
   <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
     <Rule Id="CA2212" Action="Warning" />
     <Rule Id="CA2212" Action="Warning" />
+    <!--
+    <Rule Id="IDE0001" Action="Warning" />
+    <Rule Id="IDE0003" Action="Warning" />
+    <Rule Id="IDE0004" Action="Warning" />
+    <Rule Id="IDE0005" Action="Warning" />
+    <Rule Id="IDE0034" Action="Warning" />
+    -->
   </Rules>
   </Rules>
   <Rules AnalyzerId="xunit.analyzers" RuleNamespace="xunit.analyzers">
   <Rules AnalyzerId="xunit.analyzers" RuleNamespace="xunit.analyzers">
     <Rule Id="xUnit1004" Action="None" />
     <Rule Id="xUnit1004" Action="None" />

+ 1 - 0
Rx.NET/Source/src/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing.csproj

@@ -7,6 +7,7 @@
     <DefineConstants>$(DefineConstants);PLATFORM_DOTNET;XUNIT_VISIBILITY_INTERNAL</DefineConstants>        
     <DefineConstants>$(DefineConstants);PLATFORM_DOTNET;XUNIT_VISIBILITY_INTERNAL</DefineConstants>        
     <PackageTags>Rx;Reactive;Extensions;Observable;LINQ;Events</PackageTags>    
     <PackageTags>Rx;Reactive;Extensions;Observable;LINQ;Events</PackageTags>    
     <Description>Reactive Extensions (Rx) for .NET - Testing Library</Description>
     <Description>Reactive Extensions (Rx) for .NET - Testing Library</Description>
+    <LangVersion>7.1</LangVersion>
   </PropertyGroup>
   </PropertyGroup>
 
 
   <ItemGroup>
   <ItemGroup>

+ 0 - 1
Rx.NET/Source/src/System.Reactive/AnonymousSafeObserver.cs

@@ -2,7 +2,6 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System.Reactive.Disposables;
 using System.Threading;
 using System.Threading;
 
 
 namespace System.Reactive
 namespace System.Reactive

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Concurrency/EventLoopScheduler.cs

@@ -306,7 +306,7 @@ namespace System.Reactive.Concurrency
                     //
                     //
                     if (_disposed)
                     if (_disposed)
                     {
                     {
-                        ((IDisposable)_evt).Dispose();
+                        _evt.Dispose();
                         return;
                         return;
                     }
                     }
 
 

+ 1 - 2
Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Async.cs

@@ -389,8 +389,7 @@ namespace System.Reactive.Concurrency
 
 
         private static CancellationToken GetCancellationToken(this IScheduler scheduler)
         private static CancellationToken GetCancellationToken(this IScheduler scheduler)
         {
         {
-            var cs = scheduler as CancelableScheduler;
-            return cs != null ? cs.Token : CancellationToken.None;
+            return scheduler is CancelableScheduler cs ? cs.Token : CancellationToken.None;
         }
         }
 
 
         private sealed class CancelableScheduler : IScheduler
         private sealed class CancelableScheduler : IScheduler

+ 1 - 2
Rx.NET/Source/src/System.Reactive/Concurrency/SchedulerWrapper.cs

@@ -63,8 +63,7 @@ namespace System.Reactive.Concurrency
 
 
         public object GetService(Type serviceType)
         public object GetService(Type serviceType)
         {
         {
-            var serviceProvider = _scheduler as IServiceProvider;
-            if (serviceProvider == null)
+            if (!(_scheduler is IServiceProvider serviceProvider))
                 return null;
                 return null;
 
 
             if (TryGetService(serviceProvider, serviceType, out var result))
             if (TryGetService(serviceProvider, serviceType, out var result))

+ 1 - 2
Rx.NET/Source/src/System.Reactive/Concurrency/VirtualTimeScheduler.cs

@@ -4,7 +4,6 @@
 
 
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Globalization;
 using System.Globalization;
-using System.Reactive.Disposables;
 
 
 namespace System.Reactive.Concurrency
 namespace System.Reactive.Concurrency
 {
 {
@@ -20,7 +19,7 @@ namespace System.Reactive.Concurrency
         /// Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value.
         /// Creates a new virtual time scheduler with the default value of TAbsolute as the initial clock value.
         /// </summary>
         /// </summary>
         protected VirtualTimeSchedulerBase()
         protected VirtualTimeSchedulerBase()
-            : this(default(TAbsolute), Comparer<TAbsolute>.Default)
+            : this(default, Comparer<TAbsolute>.Default)
         {
         {
         }
         }
 
 

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Internal/PriorityQueue.cs

@@ -2,7 +2,6 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System.Threading;
 using System.Collections.Generic;
 using System.Collections.Generic;
 
 
 namespace System.Reactive
 namespace System.Reactive

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Linq/LocalQueryMethodImplementationTypeAttribute.cs

@@ -2,7 +2,6 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System;
 using System.ComponentModel;
 using System.ComponentModel;
 
 
 namespace System.Reactive.Linq
 namespace System.Reactive.Linq

+ 93 - 93
Rx.NET/Source/src/System.Reactive/Linq/Observable.Aggregates.cs

@@ -30,7 +30,7 @@ namespace System.Reactive.Linq
             if (accumulator == null)
             if (accumulator == null)
                 throw new ArgumentNullException(nameof(accumulator));
                 throw new ArgumentNullException(nameof(accumulator));
 
 
-            return s_impl.Aggregate<TSource, TAccumulate>(source, seed, accumulator);
+            return s_impl.Aggregate(source, seed, accumulator);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -56,7 +56,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Aggregate<TSource, TAccumulate, TResult>(source, seed, accumulator, resultSelector);
+            return s_impl.Aggregate(source, seed, accumulator, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -77,7 +77,7 @@ namespace System.Reactive.Linq
             if (accumulator == null)
             if (accumulator == null)
                 throw new ArgumentNullException(nameof(accumulator));
                 throw new ArgumentNullException(nameof(accumulator));
 
 
-            return s_impl.Aggregate<TSource>(source, accumulator);
+            return s_impl.Aggregate(source, accumulator);
         }
         }
 
 
         #endregion
         #endregion
@@ -100,7 +100,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.All<TSource>(source, predicate);
+            return s_impl.All(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -120,7 +120,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Any<TSource>(source);
+            return s_impl.Any(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -139,7 +139,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.Any<TSource>(source, predicate);
+            return s_impl.Any(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -330,7 +330,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Average<TSource>(source, selector);
+            return s_impl.Average(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -350,7 +350,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Average<TSource>(source, selector);
+            return s_impl.Average(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -370,7 +370,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Average<TSource>(source, selector);
+            return s_impl.Average(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -391,7 +391,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Average<TSource>(source, selector);
+            return s_impl.Average(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -412,7 +412,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Average<TSource>(source, selector);
+            return s_impl.Average(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -433,7 +433,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Average<TSource>(source, selector);
+            return s_impl.Average(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -453,7 +453,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Average<TSource>(source, selector);
+            return s_impl.Average(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -473,7 +473,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Average<TSource>(source, selector);
+            return s_impl.Average(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -494,7 +494,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Average<TSource>(source, selector);
+            return s_impl.Average(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -515,7 +515,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Average<TSource>(source, selector);
+            return s_impl.Average(source, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -536,7 +536,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Contains<TSource>(source, value);
+            return s_impl.Contains(source, value);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -556,7 +556,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.Contains<TSource>(source, value, comparer);
+            return s_impl.Contains(source, value, comparer);
         }
         }
 
 
         #endregion
         #endregion
@@ -577,7 +577,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Count<TSource>(source);
+            return s_impl.Count(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -596,7 +596,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.Count<TSource>(source, predicate);
+            return s_impl.Count(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -620,7 +620,7 @@ namespace System.Reactive.Linq
             if (index < 0)
             if (index < 0)
                 throw new ArgumentOutOfRangeException(nameof(index));
                 throw new ArgumentOutOfRangeException(nameof(index));
 
 
-            return s_impl.ElementAt<TSource>(source, index);
+            return s_impl.ElementAt(source, index);
         }
         }
 
 
         #endregion
         #endregion
@@ -643,7 +643,7 @@ namespace System.Reactive.Linq
             if (index < 0)
             if (index < 0)
                 throw new ArgumentOutOfRangeException(nameof(index));
                 throw new ArgumentOutOfRangeException(nameof(index));
 
 
-            return s_impl.ElementAtOrDefault<TSource>(source, index);
+            return s_impl.ElementAtOrDefault(source, index);
         }
         }
 
 
         #endregion
         #endregion
@@ -663,7 +663,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.FirstAsync<TSource>(source);
+            return s_impl.FirstAsync(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -682,7 +682,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.FirstAsync<TSource>(source, predicate);
+            return s_impl.FirstAsync(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -701,7 +701,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.FirstOrDefaultAsync<TSource>(source);
+            return s_impl.FirstOrDefaultAsync(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -719,7 +719,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.FirstOrDefaultAsync<TSource>(source, predicate);
+            return s_impl.FirstOrDefaultAsync(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -738,7 +738,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.IsEmpty<TSource>(source);
+            return s_impl.IsEmpty(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -758,7 +758,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.LastAsync<TSource>(source);
+            return s_impl.LastAsync(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -777,7 +777,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.LastAsync<TSource>(source, predicate);
+            return s_impl.LastAsync(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -796,7 +796,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.LastOrDefaultAsync<TSource>(source);
+            return s_impl.LastOrDefaultAsync(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -814,7 +814,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.LastOrDefaultAsync<TSource>(source, predicate);
+            return s_impl.LastOrDefaultAsync(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -835,7 +835,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.LongCount<TSource>(source);
+            return s_impl.LongCount(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -854,7 +854,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.LongCount<TSource>(source, predicate);
+            return s_impl.LongCount(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -874,7 +874,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Max<TSource>(source);
+            return s_impl.Max(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -893,7 +893,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.Max<TSource>(source, comparer);
+            return s_impl.Max(source, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1063,7 +1063,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource, TResult>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1086,7 +1086,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.Max<TSource, TResult>(source, selector, comparer);
+            return s_impl.Max(source, selector, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1105,7 +1105,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1124,7 +1124,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1143,7 +1143,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1162,7 +1162,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1181,7 +1181,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1200,7 +1200,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1219,7 +1219,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1238,7 +1238,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1257,7 +1257,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1276,7 +1276,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Max<TSource>(source, selector);
+            return s_impl.Max(source, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -1300,7 +1300,7 @@ namespace System.Reactive.Linq
             if (keySelector == null)
             if (keySelector == null)
                 throw new ArgumentNullException(nameof(keySelector));
                 throw new ArgumentNullException(nameof(keySelector));
 
 
-            return s_impl.MaxBy<TSource, TKey>(source, keySelector);
+            return s_impl.MaxBy(source, keySelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1323,7 +1323,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.MaxBy<TSource, TKey>(source, keySelector, comparer);
+            return s_impl.MaxBy(source, keySelector, comparer);
         }
         }
 
 
         #endregion
         #endregion
@@ -1343,7 +1343,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Min<TSource>(source);
+            return s_impl.Min(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1362,7 +1362,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.Min<TSource>(source, comparer);
+            return s_impl.Min(source, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1532,7 +1532,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource, TResult>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1555,7 +1555,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.Min<TSource, TResult>(source, selector, comparer);
+            return s_impl.Min(source, selector, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1574,7 +1574,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1593,7 +1593,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1612,7 +1612,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1631,7 +1631,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1650,7 +1650,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1669,7 +1669,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1688,7 +1688,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1707,7 +1707,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1726,7 +1726,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1745,7 +1745,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Min<TSource>(source, selector);
+            return s_impl.Min(source, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -1769,7 +1769,7 @@ namespace System.Reactive.Linq
             if (keySelector == null)
             if (keySelector == null)
                 throw new ArgumentNullException(nameof(keySelector));
                 throw new ArgumentNullException(nameof(keySelector));
 
 
-            return s_impl.MinBy<TSource, TKey>(source, keySelector);
+            return s_impl.MinBy(source, keySelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1792,7 +1792,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.MinBy<TSource, TKey>(source, keySelector, comparer);
+            return s_impl.MinBy(source, keySelector, comparer);
         }
         }
 
 
         #endregion
         #endregion
@@ -1815,7 +1815,7 @@ namespace System.Reactive.Linq
             if (second == null)
             if (second == null)
                 throw new ArgumentNullException(nameof(second));
                 throw new ArgumentNullException(nameof(second));
 
 
-            return s_impl.SequenceEqual<TSource>(first, second);
+            return s_impl.SequenceEqual(first, second);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1837,7 +1837,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.SequenceEqual<TSource>(first, second, comparer);
+            return s_impl.SequenceEqual(first, second, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1856,7 +1856,7 @@ namespace System.Reactive.Linq
             if (second == null)
             if (second == null)
                 throw new ArgumentNullException(nameof(second));
                 throw new ArgumentNullException(nameof(second));
 
 
-            return s_impl.SequenceEqual<TSource>(first, second);
+            return s_impl.SequenceEqual(first, second);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1878,7 +1878,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.SequenceEqual<TSource>(first, second, comparer);
+            return s_impl.SequenceEqual(first, second, comparer);
         }
         }
 
 
         #endregion
         #endregion
@@ -1898,7 +1898,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.SingleAsync<TSource>(source);
+            return s_impl.SingleAsync(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1917,7 +1917,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.SingleAsync<TSource>(source, predicate);
+            return s_impl.SingleAsync(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -1937,7 +1937,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.SingleOrDefaultAsync<TSource>(source);
+            return s_impl.SingleOrDefaultAsync(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1956,7 +1956,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.SingleOrDefaultAsync<TSource>(source, predicate);
+            return s_impl.SingleOrDefaultAsync(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -2135,7 +2135,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Sum<TSource>(source, selector);
+            return s_impl.Sum(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2154,7 +2154,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Sum<TSource>(source, selector);
+            return s_impl.Sum(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2174,7 +2174,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Sum<TSource>(source, selector);
+            return s_impl.Sum(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2194,7 +2194,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Sum<TSource>(source, selector);
+            return s_impl.Sum(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2214,7 +2214,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Sum<TSource>(source, selector);
+            return s_impl.Sum(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2233,7 +2233,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Sum<TSource>(source, selector);
+            return s_impl.Sum(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2252,7 +2252,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Sum<TSource>(source, selector);
+            return s_impl.Sum(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2272,7 +2272,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Sum<TSource>(source, selector);
+            return s_impl.Sum(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2292,7 +2292,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Sum<TSource>(source, selector);
+            return s_impl.Sum(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2312,7 +2312,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Sum<TSource>(source, selector);
+            return s_impl.Sum(source, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -2332,7 +2332,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.ToArray<TSource>(source);
+            return s_impl.ToArray(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -2356,7 +2356,7 @@ namespace System.Reactive.Linq
             if (keySelector == null)
             if (keySelector == null)
                 throw new ArgumentNullException(nameof(keySelector));
                 throw new ArgumentNullException(nameof(keySelector));
 
 
-            return s_impl.ToDictionary<TSource, TKey>(source, keySelector);
+            return s_impl.ToDictionary(source, keySelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2379,7 +2379,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.ToDictionary<TSource, TKey>(source, keySelector, comparer);
+            return s_impl.ToDictionary(source, keySelector, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2403,7 +2403,7 @@ namespace System.Reactive.Linq
             if (elementSelector == null)
             if (elementSelector == null)
                 throw new ArgumentNullException(nameof(elementSelector));
                 throw new ArgumentNullException(nameof(elementSelector));
 
 
-            return s_impl.ToDictionary<TSource, TKey, TElement>(source, keySelector, elementSelector);
+            return s_impl.ToDictionary(source, keySelector, elementSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2430,7 +2430,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.ToDictionary<TSource, TKey, TElement>(source, keySelector, elementSelector, comparer);
+            return s_impl.ToDictionary(source, keySelector, elementSelector, comparer);
         }
         }
 
 
         #endregion
         #endregion
@@ -2450,7 +2450,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.ToList<TSource>(source);
+            return s_impl.ToList(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -2474,7 +2474,7 @@ namespace System.Reactive.Linq
             if (keySelector == null)
             if (keySelector == null)
                 throw new ArgumentNullException(nameof(keySelector));
                 throw new ArgumentNullException(nameof(keySelector));
 
 
-            return s_impl.ToLookup<TSource, TKey>(source, keySelector);
+            return s_impl.ToLookup(source, keySelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2497,7 +2497,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.ToLookup<TSource, TKey>(source, keySelector, comparer);
+            return s_impl.ToLookup(source, keySelector, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2521,7 +2521,7 @@ namespace System.Reactive.Linq
             if (elementSelector == null)
             if (elementSelector == null)
                 throw new ArgumentNullException(nameof(elementSelector));
                 throw new ArgumentNullException(nameof(elementSelector));
 
 
-            return s_impl.ToLookup<TSource, TKey, TElement>(source, keySelector, elementSelector);
+            return s_impl.ToLookup(source, keySelector, elementSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2548,7 +2548,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.ToLookup<TSource, TKey, TElement>(source, keySelector, elementSelector, comparer);
+            return s_impl.ToLookup(source, keySelector, elementSelector, comparer);
         }
         }
 
 
         #endregion
         #endregion

+ 105 - 105
Rx.NET/Source/src/System.Reactive/Linq/Observable.Async.cs

@@ -34,7 +34,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -57,7 +57,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -81,7 +81,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -106,7 +106,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -132,7 +132,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -159,7 +159,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -187,7 +187,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -216,7 +216,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -246,7 +246,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -277,7 +277,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -309,7 +309,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -342,7 +342,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -376,7 +376,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -411,7 +411,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -447,7 +447,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         #endregion
         #endregion
@@ -494,7 +494,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -517,7 +517,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -541,7 +541,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -566,7 +566,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -592,7 +592,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -619,7 +619,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -647,7 +647,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -676,7 +676,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -706,7 +706,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -737,7 +737,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -769,7 +769,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -802,7 +802,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -836,7 +836,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -871,7 +871,7 @@ namespace System.Reactive.Linq
             if (end == null)
             if (end == null)
                 throw new ArgumentNullException(nameof(end));
                 throw new ArgumentNullException(nameof(end));
 
 
-            return s_impl.FromAsyncPattern<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(begin, end);
+            return s_impl.FromAsyncPattern(begin, end);
         }
         }
 
 
         #endregion
         #endregion
@@ -900,7 +900,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.Start<TResult>(function);
+            return s_impl.Start(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -924,7 +924,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Start<TResult>(function, scheduler);
+            return s_impl.Start(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -945,7 +945,7 @@ namespace System.Reactive.Linq
             if (functionAsync == null)
             if (functionAsync == null)
                 throw new ArgumentNullException(nameof(functionAsync));
                 throw new ArgumentNullException(nameof(functionAsync));
 
 
-            return s_impl.StartAsync<TResult>(functionAsync);
+            return s_impl.StartAsync(functionAsync);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -969,7 +969,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.StartAsync<TResult>(functionAsync, scheduler);
+            return s_impl.StartAsync(functionAsync, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -998,7 +998,7 @@ namespace System.Reactive.Linq
             if (functionAsync == null)
             if (functionAsync == null)
                 throw new ArgumentNullException(nameof(functionAsync));
                 throw new ArgumentNullException(nameof(functionAsync));
 
 
-            return s_impl.StartAsync<TResult>(functionAsync);
+            return s_impl.StartAsync(functionAsync);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1030,7 +1030,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.StartAsync<TResult>(functionAsync, scheduler);
+            return s_impl.StartAsync(functionAsync, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1203,7 +1203,7 @@ namespace System.Reactive.Linq
             if (functionAsync == null)
             if (functionAsync == null)
                 throw new ArgumentNullException(nameof(functionAsync));
                 throw new ArgumentNullException(nameof(functionAsync));
 
 
-            return s_impl.FromAsync<TResult>(functionAsync);
+            return s_impl.FromAsync(functionAsync);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1221,7 +1221,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.FromAsync<TResult>(functionAsync, scheduler);
+            return s_impl.FromAsync(functionAsync, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1238,7 +1238,7 @@ namespace System.Reactive.Linq
             if (functionAsync == null)
             if (functionAsync == null)
                 throw new ArgumentNullException(nameof(functionAsync));
                 throw new ArgumentNullException(nameof(functionAsync));
 
 
-            return s_impl.FromAsync<TResult>(functionAsync);
+            return s_impl.FromAsync(functionAsync);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1258,7 +1258,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.FromAsync<TResult>(functionAsync, scheduler);
+            return s_impl.FromAsync(functionAsync, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1353,7 +1353,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1371,7 +1371,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1387,7 +1387,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1406,7 +1406,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1423,7 +1423,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1443,7 +1443,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1461,7 +1461,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1482,7 +1482,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1501,7 +1501,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1523,7 +1523,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1543,7 +1543,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1566,7 +1566,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1587,7 +1587,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1611,7 +1611,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1633,7 +1633,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1658,7 +1658,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1681,7 +1681,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1707,7 +1707,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1731,7 +1731,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1758,7 +1758,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1783,7 +1783,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1811,7 +1811,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1837,7 +1837,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1866,7 +1866,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1893,7 +1893,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1923,7 +1923,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1951,7 +1951,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1982,7 +1982,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2011,7 +2011,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2043,7 +2043,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2073,7 +2073,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2106,7 +2106,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2137,7 +2137,7 @@ namespace System.Reactive.Linq
             if (function == null)
             if (function == null)
                 throw new ArgumentNullException(nameof(function));
                 throw new ArgumentNullException(nameof(function));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult>(function);
+            return s_impl.ToAsync(function);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2171,7 +2171,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16, TResult>(function, scheduler);
+            return s_impl.ToAsync(function, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -2221,7 +2221,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2239,7 +2239,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2255,7 +2255,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2274,7 +2274,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2291,7 +2291,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2311,7 +2311,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2329,7 +2329,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2350,7 +2350,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2369,7 +2369,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2391,7 +2391,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2411,7 +2411,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2434,7 +2434,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2455,7 +2455,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2479,7 +2479,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2501,7 +2501,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2526,7 +2526,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2549,7 +2549,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2575,7 +2575,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2599,7 +2599,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2626,7 +2626,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2651,7 +2651,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2679,7 +2679,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2705,7 +2705,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2734,7 +2734,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2761,7 +2761,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2791,7 +2791,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2819,7 +2819,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2850,7 +2850,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2879,7 +2879,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2911,7 +2911,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2941,7 +2941,7 @@ namespace System.Reactive.Linq
             if (action == null)
             if (action == null)
                 throw new ArgumentNullException(nameof(action));
                 throw new ArgumentNullException(nameof(action));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16>(action);
+            return s_impl.ToAsync(action);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2974,7 +2974,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToAsync<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16>(action, scheduler);
+            return s_impl.ToAsync(action, scheduler);
         }
         }
 
 
         #endregion
         #endregion

+ 4 - 5
Rx.NET/Source/src/System.Reactive/Linq/Observable.Awaiter.cs

@@ -3,7 +3,6 @@
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
 using System.Threading;
 using System.Threading;
-using System.Reactive.Disposables;
 using System.Reactive.Subjects;
 using System.Reactive.Subjects;
 
 
 namespace System.Reactive.Linq
 namespace System.Reactive.Linq
@@ -23,7 +22,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.GetAwaiter<TSource>(source);
+            return s_impl.GetAwaiter(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -39,7 +38,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.GetAwaiter<TSource>(source);
+            return s_impl.GetAwaiter(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -56,7 +55,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.RunAsync<TSource>(source, cancellationToken);
+            return s_impl.RunAsync(source, cancellationToken);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -73,7 +72,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.RunAsync<TSource>(source, cancellationToken);
+            return s_impl.RunAsync(source, cancellationToken);
         }
         }
     }
     }
 }
 }

+ 27 - 27
Rx.NET/Source/src/System.Reactive/Linq/Observable.Binding.cs

@@ -29,7 +29,7 @@ namespace System.Reactive.Linq
             if (subject == null)
             if (subject == null)
                 throw new ArgumentNullException(nameof(subject));
                 throw new ArgumentNullException(nameof(subject));
 
 
-            return s_impl.Multicast<TSource, TResult>(source, subject);
+            return s_impl.Multicast(source, subject);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -54,7 +54,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Multicast<TSource, TIntermediate, TResult>(source, subjectSelector, selector);
+            return s_impl.Multicast(source, subjectSelector, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -76,7 +76,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Publish<TSource>(source);
+            return s_impl.Publish(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -97,7 +97,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Publish<TSource, TResult>(source, selector);
+            return s_impl.Publish(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -116,7 +116,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Publish<TSource>(source, initialValue);
+            return s_impl.Publish(source, initialValue);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -138,7 +138,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Publish<TSource, TResult>(source, selector, initialValue);
+            return s_impl.Publish(source, selector, initialValue);
         }
         }
 
 
         #endregion
         #endregion
@@ -160,7 +160,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.PublishLast<TSource>(source);
+            return s_impl.PublishLast(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -181,7 +181,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.PublishLast<TSource, TResult>(source, selector);
+            return s_impl.PublishLast(source, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -200,7 +200,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.RefCount<TSource>(source);
+            return s_impl.RefCount(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -219,7 +219,7 @@ namespace System.Reactive.Linq
             if (disconnectDelay < TimeSpan.Zero)
             if (disconnectDelay < TimeSpan.Zero)
                 throw new ArgumentException("disconnectDelay");
                 throw new ArgumentException("disconnectDelay");
 
 
-            return s_impl.RefCount<TSource>(source, disconnectDelay);
+            return s_impl.RefCount(source, disconnectDelay);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -242,7 +242,7 @@ namespace System.Reactive.Linq
             if (disconnectDelay < TimeSpan.Zero)
             if (disconnectDelay < TimeSpan.Zero)
                 throw new ArgumentException("disconnectDelay");
                 throw new ArgumentException("disconnectDelay");
 
 
-            return s_impl.RefCount<TSource>(source, disconnectDelay, scheduler);
+            return s_impl.RefCount(source, disconnectDelay, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -286,7 +286,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Replay<TSource>(source);
+            return s_impl.Replay(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -307,7 +307,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Replay<TSource>(source, scheduler);
+            return s_impl.Replay(source, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -328,7 +328,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Replay<TSource, TResult>(source, selector);
+            return s_impl.Replay(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -352,7 +352,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Replay<TSource, TResult>(source, selector, scheduler);
+            return s_impl.Replay(source, selector, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -374,7 +374,7 @@ namespace System.Reactive.Linq
             if (window < TimeSpan.Zero)
             if (window < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(window));
                 throw new ArgumentOutOfRangeException(nameof(window));
 
 
-            return s_impl.Replay<TSource>(source, window);
+            return s_impl.Replay(source, window);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -399,7 +399,7 @@ namespace System.Reactive.Linq
             if (window < TimeSpan.Zero)
             if (window < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(window));
                 throw new ArgumentOutOfRangeException(nameof(window));
 
 
-            return s_impl.Replay<TSource, TResult>(source, selector, window);
+            return s_impl.Replay(source, selector, window);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -424,7 +424,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Replay<TSource>(source, window, scheduler);
+            return s_impl.Replay(source, window, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -452,7 +452,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Replay<TSource, TResult>(source, selector, window, scheduler);
+            return s_impl.Replay(source, selector, window, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -477,7 +477,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Replay<TSource>(source, bufferSize, scheduler);
+            return s_impl.Replay(source, bufferSize, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -505,7 +505,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Replay<TSource, TResult>(source, selector, bufferSize, scheduler);
+            return s_impl.Replay(source, selector, bufferSize, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -527,7 +527,7 @@ namespace System.Reactive.Linq
             if (bufferSize < 0)
             if (bufferSize < 0)
                 throw new ArgumentOutOfRangeException(nameof(bufferSize));
                 throw new ArgumentOutOfRangeException(nameof(bufferSize));
 
 
-            return s_impl.Replay<TSource>(source, bufferSize);
+            return s_impl.Replay(source, bufferSize);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -552,7 +552,7 @@ namespace System.Reactive.Linq
             if (bufferSize < 0)
             if (bufferSize < 0)
                 throw new ArgumentOutOfRangeException(nameof(bufferSize));
                 throw new ArgumentOutOfRangeException(nameof(bufferSize));
 
 
-            return s_impl.Replay<TSource, TResult>(source, selector, bufferSize);
+            return s_impl.Replay(source, selector, bufferSize);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -578,7 +578,7 @@ namespace System.Reactive.Linq
             if (window < TimeSpan.Zero)
             if (window < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(window));
                 throw new ArgumentOutOfRangeException(nameof(window));
 
 
-            return s_impl.Replay<TSource>(source, bufferSize, window);
+            return s_impl.Replay(source, bufferSize, window);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -607,7 +607,7 @@ namespace System.Reactive.Linq
             if (window < TimeSpan.Zero)
             if (window < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(window));
                 throw new ArgumentOutOfRangeException(nameof(window));
 
 
-            return s_impl.Replay<TSource, TResult>(source, selector, bufferSize, window);
+            return s_impl.Replay(source, selector, bufferSize, window);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -636,7 +636,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Replay<TSource>(source, bufferSize, window, scheduler);
+            return s_impl.Replay(source, bufferSize, window, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -668,7 +668,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Replay<TSource, TResult>(source, selector, bufferSize, window, scheduler);
+            return s_impl.Replay(source, selector, bufferSize, window, scheduler);
         }
         }
 
 
         #endregion
         #endregion

+ 22 - 22
Rx.NET/Source/src/System.Reactive/Linq/Observable.Blocking.cs

@@ -22,7 +22,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Chunkify<TSource>(source);
+            return s_impl.Chunkify(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -48,7 +48,7 @@ namespace System.Reactive.Linq
             if (merge == null)
             if (merge == null)
                 throw new ArgumentNullException(nameof(merge));
                 throw new ArgumentNullException(nameof(merge));
 
 
-            return s_impl.Collect<TSource, TResult>(source, newCollector, merge);
+            return s_impl.Collect(source, newCollector, merge);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -73,7 +73,7 @@ namespace System.Reactive.Linq
             if (getNewCollector == null)
             if (getNewCollector == null)
                 throw new ArgumentNullException(nameof(getNewCollector));
                 throw new ArgumentNullException(nameof(getNewCollector));
 
 
-            return s_impl.Collect<TSource, TResult>(source, getInitialCollector, merge, getNewCollector);
+            return s_impl.Collect(source, getInitialCollector, merge, getNewCollector);
         }
         }
 
 
         #endregion
         #endregion
@@ -97,7 +97,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.First<TSource>(source);
+            return s_impl.First(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -120,7 +120,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.First<TSource>(source, predicate);
+            return s_impl.First(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -143,7 +143,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.FirstOrDefault<TSource>(source);
+            return s_impl.FirstOrDefault(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -165,7 +165,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.FirstOrDefault<TSource>(source, predicate);
+            return s_impl.FirstOrDefault(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -190,7 +190,7 @@ namespace System.Reactive.Linq
             if (onNext == null)
             if (onNext == null)
                 throw new ArgumentNullException(nameof(onNext));
                 throw new ArgumentNullException(nameof(onNext));
 
 
-            s_impl.ForEach<TSource>(source, onNext);
+            s_impl.ForEach(source, onNext);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -211,7 +211,7 @@ namespace System.Reactive.Linq
             if (onNext == null)
             if (onNext == null)
                 throw new ArgumentNullException(nameof(onNext));
                 throw new ArgumentNullException(nameof(onNext));
 
 
-            s_impl.ForEach<TSource>(source, onNext);
+            s_impl.ForEach(source, onNext);
         }
         }
 
 
         #endregion
         #endregion
@@ -230,7 +230,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.GetEnumerator<TSource>(source);
+            return s_impl.GetEnumerator(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -254,7 +254,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Last<TSource>(source);
+            return s_impl.Last(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -277,7 +277,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.Last<TSource>(source, predicate);
+            return s_impl.Last(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -300,7 +300,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.LastOrDefault<TSource>(source);
+            return s_impl.LastOrDefault(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -322,7 +322,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.LastOrDefault<TSource>(source, predicate);
+            return s_impl.LastOrDefault(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -341,7 +341,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Latest<TSource>(source);
+            return s_impl.Latest(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -362,7 +362,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.MostRecent<TSource>(source, initialValue);
+            return s_impl.MostRecent(source, initialValue);
         }
         }
 
 
         #endregion
         #endregion
@@ -382,7 +382,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Next<TSource>(source);
+            return s_impl.Next(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -406,7 +406,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Single<TSource>(source);
+            return s_impl.Single(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -429,7 +429,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.Single<TSource>(source, predicate);
+            return s_impl.Single(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -453,7 +453,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.SingleOrDefault<TSource>(source);
+            return s_impl.SingleOrDefault(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -476,7 +476,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.SingleOrDefault<TSource>(source, predicate);
+            return s_impl.SingleOrDefault(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -497,7 +497,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Wait<TSource>(source);
+            return s_impl.Wait(source);
         }
         }
 
 
         #endregion
         #endregion

+ 6 - 6
Rx.NET/Source/src/System.Reactive/Linq/Observable.Concurrency.cs

@@ -30,7 +30,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ObserveOn<TSource>(source, scheduler);
+            return s_impl.ObserveOn(source, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -52,7 +52,7 @@ namespace System.Reactive.Linq
             if (context == null)
             if (context == null)
                 throw new ArgumentNullException(nameof(context));
                 throw new ArgumentNullException(nameof(context));
 
 
-            return s_impl.ObserveOn<TSource>(source, context);
+            return s_impl.ObserveOn(source, context);
         }
         }
 
 
         #endregion
         #endregion
@@ -79,7 +79,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.SubscribeOn<TSource>(source, scheduler);
+            return s_impl.SubscribeOn(source, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -102,7 +102,7 @@ namespace System.Reactive.Linq
             if (context == null)
             if (context == null)
                 throw new ArgumentNullException(nameof(context));
                 throw new ArgumentNullException(nameof(context));
 
 
-            return s_impl.SubscribeOn<TSource>(source, context);
+            return s_impl.SubscribeOn(source, context);
         }
         }
 
 
         #endregion
         #endregion
@@ -126,7 +126,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Synchronize<TSource>(source);
+            return s_impl.Synchronize(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -145,7 +145,7 @@ namespace System.Reactive.Linq
             if (gate == null)
             if (gate == null)
                 throw new ArgumentNullException(nameof(gate));
                 throw new ArgumentNullException(nameof(gate));
 
 
-            return s_impl.Synchronize<TSource>(source, gate);
+            return s_impl.Synchronize(source, gate);
         }
         }
 
 
         #endregion
         #endregion

+ 7 - 7
Rx.NET/Source/src/System.Reactive/Linq/Observable.Conversions.cs

@@ -26,7 +26,7 @@ namespace System.Reactive.Linq
             if (observer == null)
             if (observer == null)
                 throw new ArgumentNullException(nameof(observer));
                 throw new ArgumentNullException(nameof(observer));
 
 
-            return s_impl.Subscribe<TSource>(source, observer);
+            return s_impl.Subscribe(source, observer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -47,7 +47,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Subscribe<TSource>(source, observer, scheduler);
+            return s_impl.Subscribe(source, observer, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -66,7 +66,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.ToEnumerable<TSource>(source);
+            return s_impl.ToEnumerable(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -99,7 +99,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.ToEvent<TSource>(source);
+            return s_impl.ToEvent(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -118,7 +118,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.ToEventPattern<TEventArgs>(source);
+            return s_impl.ToEventPattern(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -137,7 +137,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.ToObservable<TSource>(source);
+            return s_impl.ToObservable(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -155,7 +155,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ToObservable<TSource>(source, scheduler);
+            return s_impl.ToObservable(source, scheduler);
         }
         }
 
 
         #endregion
         #endregion

+ 23 - 24
Rx.NET/Source/src/System.Reactive/Linq/Observable.Creation.cs

@@ -2,7 +2,6 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System.Collections.Generic;
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
@@ -30,7 +29,7 @@ namespace System.Reactive.Linq
             if (subscribe == null)
             if (subscribe == null)
                 throw new ArgumentNullException(nameof(subscribe));
                 throw new ArgumentNullException(nameof(subscribe));
 
 
-            return s_impl.Create<TResult>(subscribe);
+            return s_impl.Create(subscribe);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -50,7 +49,7 @@ namespace System.Reactive.Linq
             if (subscribe == null)
             if (subscribe == null)
                 throw new ArgumentNullException(nameof(subscribe));
                 throw new ArgumentNullException(nameof(subscribe));
 
 
-            return s_impl.Create<TResult>(subscribe);
+            return s_impl.Create(subscribe);
         }
         }
 
 
         #endregion
         #endregion
@@ -72,7 +71,7 @@ namespace System.Reactive.Linq
             if (subscribeAsync == null)
             if (subscribeAsync == null)
                 throw new ArgumentNullException(nameof(subscribeAsync));
                 throw new ArgumentNullException(nameof(subscribeAsync));
 
 
-            return s_impl.Create<TResult>(subscribeAsync);
+            return s_impl.Create(subscribeAsync);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -88,7 +87,7 @@ namespace System.Reactive.Linq
             if (subscribeAsync == null)
             if (subscribeAsync == null)
                 throw new ArgumentNullException(nameof(subscribeAsync));
                 throw new ArgumentNullException(nameof(subscribeAsync));
 
 
-            return s_impl.Create<TResult>(subscribeAsync);
+            return s_impl.Create(subscribeAsync);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -106,7 +105,7 @@ namespace System.Reactive.Linq
             if (subscribeAsync == null)
             if (subscribeAsync == null)
                 throw new ArgumentNullException(nameof(subscribeAsync));
                 throw new ArgumentNullException(nameof(subscribeAsync));
 
 
-            return s_impl.Create<TResult>(subscribeAsync);
+            return s_impl.Create(subscribeAsync);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -122,7 +121,7 @@ namespace System.Reactive.Linq
             if (subscribeAsync == null)
             if (subscribeAsync == null)
                 throw new ArgumentNullException(nameof(subscribeAsync));
                 throw new ArgumentNullException(nameof(subscribeAsync));
 
 
-            return s_impl.Create<TResult>(subscribeAsync);
+            return s_impl.Create(subscribeAsync);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -140,7 +139,7 @@ namespace System.Reactive.Linq
             if (subscribeAsync == null)
             if (subscribeAsync == null)
                 throw new ArgumentNullException(nameof(subscribeAsync));
                 throw new ArgumentNullException(nameof(subscribeAsync));
 
 
-            return s_impl.Create<TResult>(subscribeAsync);
+            return s_impl.Create(subscribeAsync);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -156,7 +155,7 @@ namespace System.Reactive.Linq
             if (subscribeAsync == null)
             if (subscribeAsync == null)
                 throw new ArgumentNullException(nameof(subscribeAsync));
                 throw new ArgumentNullException(nameof(subscribeAsync));
 
 
-            return s_impl.Create<TResult>(subscribeAsync);
+            return s_impl.Create(subscribeAsync);
         }
         }
 
 
         #endregion
         #endregion
@@ -175,7 +174,7 @@ namespace System.Reactive.Linq
             if (observableFactory == null)
             if (observableFactory == null)
                 throw new ArgumentNullException(nameof(observableFactory));
                 throw new ArgumentNullException(nameof(observableFactory));
 
 
-            return s_impl.Defer<TResult>(observableFactory);
+            return s_impl.Defer(observableFactory);
         }
         }
 
 
         #endregion
         #endregion
@@ -195,7 +194,7 @@ namespace System.Reactive.Linq
             if (observableFactoryAsync == null)
             if (observableFactoryAsync == null)
                 throw new ArgumentNullException(nameof(observableFactoryAsync));
                 throw new ArgumentNullException(nameof(observableFactoryAsync));
 
 
-            return s_impl.Defer<TResult>(observableFactoryAsync);
+            return s_impl.Defer(observableFactoryAsync);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -213,7 +212,7 @@ namespace System.Reactive.Linq
             if (observableFactoryAsync == null)
             if (observableFactoryAsync == null)
                 throw new ArgumentNullException(nameof(observableFactoryAsync));
                 throw new ArgumentNullException(nameof(observableFactoryAsync));
 
 
-            return s_impl.Defer<TResult>(observableFactoryAsync);
+            return s_impl.Defer(observableFactoryAsync);
         }
         }
 
 
         #endregion
         #endregion
@@ -296,7 +295,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Generate<TState, TResult>(initialState, condition, iterate, resultSelector);
+            return s_impl.Generate(initialState, condition, iterate, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -322,7 +321,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Generate<TState, TResult>(initialState, condition, iterate, resultSelector, scheduler);
+            return s_impl.Generate(initialState, condition, iterate, resultSelector, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -403,7 +402,7 @@ namespace System.Reactive.Linq
         /// <returns>An observable sequence that repeats the given element infinitely.</returns>
         /// <returns>An observable sequence that repeats the given element infinitely.</returns>
         public static IObservable<TResult> Repeat<TResult>(TResult value)
         public static IObservable<TResult> Repeat<TResult>(TResult value)
         {
         {
-            return s_impl.Repeat<TResult>(value);
+            return s_impl.Repeat(value);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -419,7 +418,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Repeat<TResult>(value, scheduler);
+            return s_impl.Repeat(value, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -435,7 +434,7 @@ namespace System.Reactive.Linq
             if (repeatCount < 0)
             if (repeatCount < 0)
                 throw new ArgumentOutOfRangeException(nameof(repeatCount));
                 throw new ArgumentOutOfRangeException(nameof(repeatCount));
 
 
-            return s_impl.Repeat<TResult>(value, repeatCount);
+            return s_impl.Repeat(value, repeatCount);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -455,7 +454,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Repeat<TResult>(value, repeatCount, scheduler);
+            return s_impl.Repeat(value, repeatCount, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -470,7 +469,7 @@ namespace System.Reactive.Linq
         /// <returns>An observable sequence containing the single specified element.</returns>
         /// <returns>An observable sequence containing the single specified element.</returns>
         public static IObservable<TResult> Return<TResult>(TResult value)
         public static IObservable<TResult> Return<TResult>(TResult value)
         {
         {
-            return s_impl.Return<TResult>(value);
+            return s_impl.Return(value);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -486,7 +485,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Return<TResult>(value, scheduler);
+            return s_impl.Return(value, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -569,7 +568,7 @@ namespace System.Reactive.Linq
         /// Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime.
         /// Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime.
         /// </summary>
         /// </summary>
         /// <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
         /// <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
-        /// <typeparam name="TResource">The type of the resource used during the generation of the resulting sequence. Needs to implement <see cref="System.IDisposable"/>.</typeparam>
+        /// <typeparam name="TResource">The type of the resource used during the generation of the resulting sequence. Needs to implement <see cref="IDisposable"/>.</typeparam>
         /// <param name="resourceFactory">Factory function to obtain a resource object.</param>
         /// <param name="resourceFactory">Factory function to obtain a resource object.</param>
         /// <param name="observableFactory">Factory function to obtain an observable sequence that depends on the obtained resource.</param>
         /// <param name="observableFactory">Factory function to obtain an observable sequence that depends on the obtained resource.</param>
         /// <returns>An observable sequence whose lifetime controls the lifetime of the dependent resource object.</returns>
         /// <returns>An observable sequence whose lifetime controls the lifetime of the dependent resource object.</returns>
@@ -581,7 +580,7 @@ namespace System.Reactive.Linq
             if (observableFactory == null)
             if (observableFactory == null)
                 throw new ArgumentNullException(nameof(observableFactory));
                 throw new ArgumentNullException(nameof(observableFactory));
 
 
-            return s_impl.Using<TResult, TResource>(resourceFactory, observableFactory);
+            return s_impl.Using(resourceFactory, observableFactory);
         }
         }
 
 
         #endregion
         #endregion
@@ -593,7 +592,7 @@ namespace System.Reactive.Linq
         /// The CancellationToken passed to the asynchronous methods is tied to the returned disposable subscription, allowing best-effort cancellation at any stage of the resource acquisition or usage.
         /// The CancellationToken passed to the asynchronous methods is tied to the returned disposable subscription, allowing best-effort cancellation at any stage of the resource acquisition or usage.
         /// </summary>
         /// </summary>
         /// <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
         /// <typeparam name="TResult">The type of the elements in the produced sequence.</typeparam>
-        /// <typeparam name="TResource">The type of the resource used during the generation of the resulting sequence. Needs to implement <see cref="System.IDisposable"/>.</typeparam>
+        /// <typeparam name="TResource">The type of the resource used during the generation of the resulting sequence. Needs to implement <see cref="IDisposable"/>.</typeparam>
         /// <param name="resourceFactoryAsync">Asynchronous factory function to obtain a resource object.</param>
         /// <param name="resourceFactoryAsync">Asynchronous factory function to obtain a resource object.</param>
         /// <param name="observableFactoryAsync">Asynchronous factory function to obtain an observable sequence that depends on the obtained resource.</param>
         /// <param name="observableFactoryAsync">Asynchronous factory function to obtain an observable sequence that depends on the obtained resource.</param>
         /// <returns>An observable sequence whose lifetime controls the lifetime of the dependent resource object.</returns>
         /// <returns>An observable sequence whose lifetime controls the lifetime of the dependent resource object.</returns>
@@ -607,7 +606,7 @@ namespace System.Reactive.Linq
             if (observableFactoryAsync == null)
             if (observableFactoryAsync == null)
                 throw new ArgumentNullException(nameof(observableFactoryAsync));
                 throw new ArgumentNullException(nameof(observableFactoryAsync));
 
 
-            return s_impl.Using<TResult, TResource>(resourceFactoryAsync, observableFactoryAsync);
+            return s_impl.Using(resourceFactoryAsync, observableFactoryAsync);
         }
         }
 
 
         #endregion
         #endregion

+ 38 - 39
Rx.NET/Source/src/System.Reactive/Linq/Observable.Events.cs

@@ -3,7 +3,6 @@
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
-using System.Threading;
 
 
 namespace System.Reactive.Linq
 namespace System.Reactive.Linq
 {
 {
@@ -43,7 +42,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<object>> FromEventPattern(Action<EventHandler> addHandler, Action<EventHandler> removeHandler)
         public static IObservable<EventPattern<object>> FromEventPattern(Action<EventHandler> addHandler, Action<EventHandler> removeHandler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -79,7 +78,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<object>> FromEventPattern(Action<EventHandler> addHandler, Action<EventHandler> removeHandler, IScheduler scheduler)
         public static IObservable<EventPattern<object>> FromEventPattern(Action<EventHandler> addHandler, Action<EventHandler> removeHandler, IScheduler scheduler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -126,7 +125,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -164,7 +163,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -208,7 +207,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         {
         {
             if (conversion == null)
             if (conversion == null)
@@ -218,7 +217,7 @@ namespace System.Reactive.Linq
             if (removeHandler == null)
             if (removeHandler == null)
                 throw new ArgumentNullException(nameof(removeHandler));
                 throw new ArgumentNullException(nameof(removeHandler));
 
 
-            return s_impl.FromEventPattern<TDelegate, TEventArgs>(conversion, addHandler, removeHandler);
+            return s_impl.FromEventPattern(conversion, addHandler, removeHandler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -249,7 +248,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         {
         {
             if (conversion == null)
             if (conversion == null)
@@ -261,7 +260,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.FromEventPattern<TDelegate, TEventArgs>(conversion, addHandler, removeHandler, scheduler);
+            return s_impl.FromEventPattern(conversion, addHandler, removeHandler, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -295,7 +294,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TDelegate, TSender, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TDelegate, TSender, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -334,7 +333,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TDelegate, TSender, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TDelegate, TSender, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -379,7 +378,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler)
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -387,7 +386,7 @@ namespace System.Reactive.Linq
             if (removeHandler == null)
             if (removeHandler == null)
                 throw new ArgumentNullException(nameof(removeHandler));
                 throw new ArgumentNullException(nameof(removeHandler));
 
 
-            return s_impl.FromEventPattern<TEventArgs>(addHandler, removeHandler);
+            return s_impl.FromEventPattern(addHandler, removeHandler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -415,7 +414,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler, IScheduler scheduler)
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler, IScheduler scheduler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -425,7 +424,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.FromEventPattern<TEventArgs>(addHandler, removeHandler, scheduler);
+            return s_impl.FromEventPattern(addHandler, removeHandler, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -466,7 +465,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<object>> FromEventPattern(object target, string eventName)
         public static IObservable<EventPattern<object>> FromEventPattern(object target, string eventName)
         {
         {
             if (target == null)
             if (target == null)
@@ -504,7 +503,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<object>> FromEventPattern(object target, string eventName, IScheduler scheduler)
         public static IObservable<EventPattern<object>> FromEventPattern(object target, string eventName, IScheduler scheduler)
         {
         {
             if (target == null)
             if (target == null)
@@ -548,7 +547,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(object target, string eventName)
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(object target, string eventName)
         {
         {
             if (target == null)
             if (target == null)
@@ -587,7 +586,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(object target, string eventName, IScheduler scheduler)
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(object target, string eventName, IScheduler scheduler)
         {
         {
             if (target == null)
             if (target == null)
@@ -632,7 +631,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(object target, string eventName)
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(object target, string eventName)
         {
         {
             if (target == null)
             if (target == null)
@@ -672,7 +671,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(object target, string eventName, IScheduler scheduler)
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(object target, string eventName, IScheduler scheduler)
         {
         {
             if (target == null)
             if (target == null)
@@ -719,7 +718,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<object>> FromEventPattern(Type type, string eventName)
         public static IObservable<EventPattern<object>> FromEventPattern(Type type, string eventName)
         {
         {
             if (type == null)
             if (type == null)
@@ -757,7 +756,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<object>> FromEventPattern(Type type, string eventName, IScheduler scheduler)
         public static IObservable<EventPattern<object>> FromEventPattern(Type type, string eventName, IScheduler scheduler)
         {
         {
             if (type == null)
             if (type == null)
@@ -801,7 +800,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Type type, string eventName)
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Type type, string eventName)
         {
         {
             if (type == null)
             if (type == null)
@@ -840,7 +839,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Type type, string eventName, IScheduler scheduler)
         public static IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Type type, string eventName, IScheduler scheduler)
         {
         {
             if (type == null)
             if (type == null)
@@ -885,7 +884,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(Type type, string eventName)
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(Type type, string eventName)
         {
         {
             if (type == null)
             if (type == null)
@@ -925,7 +924,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEventPattern"/>
+        /// <seealso cref="ToEventPattern"/>
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(Type type, string eventName, IScheduler scheduler)
         public static IObservable<EventPattern<TSender, TEventArgs>> FromEventPattern<TSender, TEventArgs>(Type type, string eventName, IScheduler scheduler)
         {
         {
             if (type == null)
             if (type == null)
@@ -978,7 +977,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEvent"/>
+        /// <seealso cref="ToEvent"/>
         public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         {
         {
             if (conversion == null)
             if (conversion == null)
@@ -988,7 +987,7 @@ namespace System.Reactive.Linq
             if (removeHandler == null)
             if (removeHandler == null)
                 throw new ArgumentNullException(nameof(removeHandler));
                 throw new ArgumentNullException(nameof(removeHandler));
 
 
-            return s_impl.FromEvent<TDelegate, TEventArgs>(conversion, addHandler, removeHandler);
+            return s_impl.FromEvent(conversion, addHandler, removeHandler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1018,7 +1017,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEvent"/>
+        /// <seealso cref="ToEvent"/>
         public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         {
         {
             if (conversion == null)
             if (conversion == null)
@@ -1030,7 +1029,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.FromEvent<TDelegate, TEventArgs>(conversion, addHandler, removeHandler, scheduler);
+            return s_impl.FromEvent(conversion, addHandler, removeHandler, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1062,7 +1061,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEvent"/>
+        /// <seealso cref="ToEvent"/>
         public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -1099,7 +1098,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEvent"/>
+        /// <seealso cref="ToEvent"/>
         public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         public static IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -1144,7 +1143,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEvent"/>
+        /// <seealso cref="ToEvent"/>
         public static IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler)
         public static IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -1152,7 +1151,7 @@ namespace System.Reactive.Linq
             if (removeHandler == null)
             if (removeHandler == null)
                 throw new ArgumentNullException(nameof(removeHandler));
                 throw new ArgumentNullException(nameof(removeHandler));
 
 
-            return s_impl.FromEvent<TEventArgs>(addHandler, removeHandler);
+            return s_impl.FromEvent(addHandler, removeHandler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1180,7 +1179,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEvent"/>
+        /// <seealso cref="ToEvent"/>
         public static IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler, IScheduler scheduler)
         public static IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler, IScheduler scheduler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -1190,7 +1189,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.FromEvent<TEventArgs>(addHandler, removeHandler, scheduler);
+            return s_impl.FromEvent(addHandler, removeHandler, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1224,7 +1223,7 @@ namespace System.Reactive.Linq
         /// more concise and easier to understand.
         /// more concise and easier to understand.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEvent"/>
+        /// <seealso cref="ToEvent"/>
         public static IObservable<Unit> FromEvent(Action<Action> addHandler, Action<Action> removeHandler)
         public static IObservable<Unit> FromEvent(Action<Action> addHandler, Action<Action> removeHandler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)
@@ -1259,7 +1258,7 @@ namespace System.Reactive.Linq
         /// parameter. For more information, see the remarks section on those overloads.
         /// parameter. For more information, see the remarks section on those overloads.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
-        /// <seealso cref="Observable.ToEvent"/>
+        /// <seealso cref="ToEvent"/>
         public static IObservable<Unit> FromEvent(Action<Action> addHandler, Action<Action> removeHandler, IScheduler scheduler)
         public static IObservable<Unit> FromEvent(Action<Action> addHandler, Action<Action> removeHandler, IScheduler scheduler)
         {
         {
             if (addHandler == null)
             if (addHandler == null)

+ 14 - 14
Rx.NET/Source/src/System.Reactive/Linq/Observable.Imperative.cs

@@ -29,7 +29,7 @@ namespace System.Reactive.Linq
             if (onNext == null)
             if (onNext == null)
                 throw new ArgumentNullException(nameof(onNext));
                 throw new ArgumentNullException(nameof(onNext));
 
 
-            return s_impl.ForEachAsync<TSource>(source, onNext);
+            return s_impl.ForEachAsync(source, onNext);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -50,7 +50,7 @@ namespace System.Reactive.Linq
             if (onNext == null)
             if (onNext == null)
                 throw new ArgumentNullException(nameof(onNext));
                 throw new ArgumentNullException(nameof(onNext));
 
 
-            return s_impl.ForEachAsync<TSource>(source, onNext, cancellationToken);
+            return s_impl.ForEachAsync(source, onNext, cancellationToken);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -69,7 +69,7 @@ namespace System.Reactive.Linq
             if (onNext == null)
             if (onNext == null)
                 throw new ArgumentNullException(nameof(onNext));
                 throw new ArgumentNullException(nameof(onNext));
 
 
-            return s_impl.ForEachAsync<TSource>(source, onNext);
+            return s_impl.ForEachAsync(source, onNext);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -90,7 +90,7 @@ namespace System.Reactive.Linq
             if (onNext == null)
             if (onNext == null)
                 throw new ArgumentNullException(nameof(onNext));
                 throw new ArgumentNullException(nameof(onNext));
 
 
-            return s_impl.ForEachAsync<TSource>(source, onNext, cancellationToken);
+            return s_impl.ForEachAsync(source, onNext, cancellationToken);
         }
         }
 
 
         #endregion
         #endregion
@@ -116,7 +116,7 @@ namespace System.Reactive.Linq
             if (defaultSource == null)
             if (defaultSource == null)
                 throw new ArgumentNullException(nameof(defaultSource));
                 throw new ArgumentNullException(nameof(defaultSource));
 
 
-            return s_impl.Case<TValue, TResult>(selector, sources, defaultSource);
+            return s_impl.Case(selector, sources, defaultSource);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -138,7 +138,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Case<TValue, TResult>(selector, sources, scheduler);
+            return s_impl.Case(selector, sources, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -157,7 +157,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Case<TValue, TResult>(selector, sources);
+            return s_impl.Case(selector, sources);
         }
         }
 
 
         #endregion
         #endregion
@@ -179,7 +179,7 @@ namespace System.Reactive.Linq
             if (condition == null)
             if (condition == null)
                 throw new ArgumentNullException(nameof(condition));
                 throw new ArgumentNullException(nameof(condition));
 
 
-            return s_impl.DoWhile<TSource>(source, condition);
+            return s_impl.DoWhile(source, condition);
         }
         }
 
 
         #endregion
         #endregion
@@ -202,7 +202,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.For<TSource, TResult>(source, resultSelector);
+            return s_impl.For(source, resultSelector);
         }
         }
 
 
         #endregion
         #endregion
@@ -227,7 +227,7 @@ namespace System.Reactive.Linq
             if (elseSource == null)
             if (elseSource == null)
                 throw new ArgumentNullException(nameof(elseSource));
                 throw new ArgumentNullException(nameof(elseSource));
 
 
-            return s_impl.If<TResult>(condition, thenSource, elseSource);
+            return s_impl.If(condition, thenSource, elseSource);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -245,7 +245,7 @@ namespace System.Reactive.Linq
             if (thenSource == null)
             if (thenSource == null)
                 throw new ArgumentNullException(nameof(thenSource));
                 throw new ArgumentNullException(nameof(thenSource));
 
 
-            return s_impl.If<TResult>(condition, thenSource);
+            return s_impl.If(condition, thenSource);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -266,7 +266,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.If<TResult>(condition, thenSource, scheduler);
+            return s_impl.If(condition, thenSource, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -288,9 +288,9 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.While<TSource>(condition, source);
+            return s_impl.While(condition, source);
         }
         }
 
 
         #endregion
         #endregion
     }
     }
-}
+}

+ 4 - 5
Rx.NET/Source/src/System.Reactive/Linq/Observable.Joins.cs

@@ -3,7 +3,6 @@
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Reactive.Disposables;
 using System.Reactive.Joins;
 using System.Reactive.Joins;
 
 
 namespace System.Reactive.Linq
 namespace System.Reactive.Linq
@@ -28,7 +27,7 @@ namespace System.Reactive.Linq
             if (right == null)
             if (right == null)
                 throw new ArgumentNullException(nameof(right));
                 throw new ArgumentNullException(nameof(right));
 
 
-            return s_impl.And<TLeft, TRight>(left, right);
+            return s_impl.And(left, right);
         }
         }
 
 
         #endregion
         #endregion
@@ -51,7 +50,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Then<TSource, TResult>(source, selector);
+            return s_impl.Then(source, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -70,7 +69,7 @@ namespace System.Reactive.Linq
             if (plans == null)
             if (plans == null)
                 throw new ArgumentNullException(nameof(plans));
                 throw new ArgumentNullException(nameof(plans));
 
 
-            return s_impl.When<TResult>(plans);
+            return s_impl.When(plans);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -85,7 +84,7 @@ namespace System.Reactive.Linq
             if (plans == null)
             if (plans == null)
                 throw new ArgumentNullException(nameof(plans));
                 throw new ArgumentNullException(nameof(plans));
 
 
-            return s_impl.When<TResult>(plans);
+            return s_impl.When(plans);
         }
         }
 
 
         #endregion
         #endregion

+ 75 - 75
Rx.NET/Source/src/System.Reactive/Linq/Observable.Multiple.cs

@@ -29,7 +29,7 @@ namespace System.Reactive.Linq
             if (second == null)
             if (second == null)
                 throw new ArgumentNullException(nameof(second));
                 throw new ArgumentNullException(nameof(second));
 
 
-            return s_impl.Amb<TSource>(first, second);
+            return s_impl.Amb(first, second);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -45,7 +45,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Amb<TSource>(sources);
+            return s_impl.Amb(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -61,7 +61,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Amb<TSource>(sources);
+            return s_impl.Amb(sources);
         }
         }
 
 
         #endregion
         #endregion
@@ -84,7 +84,7 @@ namespace System.Reactive.Linq
             if (bufferClosingSelector == null)
             if (bufferClosingSelector == null)
                 throw new ArgumentNullException(nameof(bufferClosingSelector));
                 throw new ArgumentNullException(nameof(bufferClosingSelector));
 
 
-            return s_impl.Buffer<TSource, TBufferClosing>(source, bufferClosingSelector);
+            return s_impl.Buffer(source, bufferClosingSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -107,7 +107,7 @@ namespace System.Reactive.Linq
             if (bufferClosingSelector == null)
             if (bufferClosingSelector == null)
                 throw new ArgumentNullException(nameof(bufferClosingSelector));
                 throw new ArgumentNullException(nameof(bufferClosingSelector));
 
 
-            return s_impl.Buffer<TSource, TBufferOpening, TBufferClosing>(source, bufferOpenings, bufferClosingSelector);
+            return s_impl.Buffer(source, bufferOpenings, bufferClosingSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -126,7 +126,7 @@ namespace System.Reactive.Linq
             if (bufferBoundaries == null)
             if (bufferBoundaries == null)
                 throw new ArgumentNullException(nameof(bufferBoundaries));
                 throw new ArgumentNullException(nameof(bufferBoundaries));
 
 
-            return s_impl.Buffer<TSource, TBufferBoundary>(source, bufferBoundaries);
+            return s_impl.Buffer(source, bufferBoundaries);
         }
         }
 
 
         #endregion
         #endregion
@@ -137,7 +137,7 @@ namespace System.Reactive.Linq
         /// Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler.
         /// Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler.
         /// </summary>
         /// </summary>
         /// <typeparam name="TSource">The type of the elements in the source sequence and sequences returned by the exception handler function.</typeparam>
         /// <typeparam name="TSource">The type of the elements in the source sequence and sequences returned by the exception handler function.</typeparam>
-        /// <typeparam name="TException">The type of the exception to catch and handle. Needs to derive from <see cref="System.Exception"/>.</typeparam>
+        /// <typeparam name="TException">The type of the exception to catch and handle. Needs to derive from <see cref="Exception"/>.</typeparam>
         /// <param name="source">Source sequence.</param>
         /// <param name="source">Source sequence.</param>
         /// <param name="handler">Exception handler function, producing another observable sequence.</param>
         /// <param name="handler">Exception handler function, producing another observable sequence.</param>
         /// <returns>An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred.</returns>
         /// <returns>An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred.</returns>
@@ -149,7 +149,7 @@ namespace System.Reactive.Linq
             if (handler == null)
             if (handler == null)
                 throw new ArgumentNullException(nameof(handler));
                 throw new ArgumentNullException(nameof(handler));
 
 
-            return s_impl.Catch<TSource, TException>(source, handler);
+            return s_impl.Catch(source, handler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -167,7 +167,7 @@ namespace System.Reactive.Linq
             if (second == null)
             if (second == null)
                 throw new ArgumentNullException(nameof(second));
                 throw new ArgumentNullException(nameof(second));
 
 
-            return s_impl.Catch<TSource>(first, second);
+            return s_impl.Catch(first, second);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -182,7 +182,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Catch<TSource>(sources);
+            return s_impl.Catch(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -197,7 +197,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Catch<TSource>(sources);
+            return s_impl.Catch(sources);
         }
         }
 
 
         #endregion
         #endregion
@@ -224,7 +224,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TResult>(first, second, resultSelector);
+            return s_impl.CombineLatest(first, second, resultSelector);
         }
         }
 
 
         /* The following code is generated by a tool checked in to $/.../Source/Tools/CodeGenerators. */
         /* The following code is generated by a tool checked in to $/.../Source/Tools/CodeGenerators. */
@@ -255,7 +255,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TResult>(source1, source2, source3, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -286,7 +286,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TResult>(source1, source2, source3, source4, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -321,7 +321,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TResult>(source1, source2, source3, source4, source5, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -360,7 +360,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult>(source1, source2, source3, source4, source5, source6, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -403,7 +403,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult>(source1, source2, source3, source4, source5, source6, source7, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -450,7 +450,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -501,7 +501,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -556,7 +556,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -615,7 +615,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -678,7 +678,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -745,7 +745,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -816,7 +816,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -891,7 +891,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, source15, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, source15, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -970,7 +970,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, source15, source16, resultSelector);
+            return s_impl.CombineLatest(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, source15, source16, resultSelector);
         }
         }
 
 
         #endregion
         #endregion
@@ -991,7 +991,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.CombineLatest<TSource, TResult>(sources, resultSelector);
+            return s_impl.CombineLatest(sources, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1006,7 +1006,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.CombineLatest<TSource>(sources);
+            return s_impl.CombineLatest(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1021,7 +1021,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.CombineLatest<TSource>(sources);
+            return s_impl.CombineLatest(sources);
         }
         }
 
 
         #endregion
         #endregion
@@ -1043,7 +1043,7 @@ namespace System.Reactive.Linq
             if (second == null)
             if (second == null)
                 throw new ArgumentNullException(nameof(second));
                 throw new ArgumentNullException(nameof(second));
 
 
-            return s_impl.Concat<TSource>(first, second);
+            return s_impl.Concat(first, second);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1058,7 +1058,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Concat<TSource>(sources);
+            return s_impl.Concat(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1073,7 +1073,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Concat<TSource>(sources);
+            return s_impl.Concat(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1088,7 +1088,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Concat<TSource>(sources);
+            return s_impl.Concat(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1104,7 +1104,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Concat<TSource>(sources);
+            return s_impl.Concat(sources);
         }
         }
 
 
         #endregion
         #endregion
@@ -1123,7 +1123,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Merge<TSource>(sources);
+            return s_impl.Merge(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1139,7 +1139,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Merge<TSource>(sources);
+            return s_impl.Merge(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1158,7 +1158,7 @@ namespace System.Reactive.Linq
             if (maxConcurrent <= 0)
             if (maxConcurrent <= 0)
                 throw new ArgumentOutOfRangeException(nameof(maxConcurrent));
                 throw new ArgumentOutOfRangeException(nameof(maxConcurrent));
 
 
-            return s_impl.Merge<TSource>(sources, maxConcurrent);
+            return s_impl.Merge(sources, maxConcurrent);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1177,7 +1177,7 @@ namespace System.Reactive.Linq
             if (maxConcurrent <= 0)
             if (maxConcurrent <= 0)
                 throw new ArgumentOutOfRangeException(nameof(maxConcurrent));
                 throw new ArgumentOutOfRangeException(nameof(maxConcurrent));
 
 
-            return s_impl.Merge<TSource>(sources, maxConcurrent);
+            return s_impl.Merge(sources, maxConcurrent);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1199,7 +1199,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Merge<TSource>(sources, maxConcurrent, scheduler);
+            return s_impl.Merge(sources, maxConcurrent, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1217,7 +1217,7 @@ namespace System.Reactive.Linq
             if (second == null)
             if (second == null)
                 throw new ArgumentNullException(nameof(second));
                 throw new ArgumentNullException(nameof(second));
 
 
-            return s_impl.Merge<TSource>(first, second);
+            return s_impl.Merge(first, second);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1238,7 +1238,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Merge<TSource>(first, second, scheduler);
+            return s_impl.Merge(first, second, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1253,7 +1253,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Merge<TSource>(sources);
+            return s_impl.Merge(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1271,7 +1271,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Merge<TSource>(scheduler, sources);
+            return s_impl.Merge(scheduler, sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1286,7 +1286,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Merge<TSource>(sources);
+            return s_impl.Merge(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1304,7 +1304,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Merge<TSource>(sources, scheduler);
+            return s_impl.Merge(sources, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1326,7 +1326,7 @@ namespace System.Reactive.Linq
             if (second == null)
             if (second == null)
                 throw new ArgumentNullException(nameof(second));
                 throw new ArgumentNullException(nameof(second));
 
 
-            return s_impl.OnErrorResumeNext<TSource>(first, second);
+            return s_impl.OnErrorResumeNext(first, second);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1341,7 +1341,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.OnErrorResumeNext<TSource>(sources);
+            return s_impl.OnErrorResumeNext(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1356,7 +1356,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.OnErrorResumeNext<TSource>(sources);
+            return s_impl.OnErrorResumeNext(sources);
         }
         }
 
 
         #endregion
         #endregion
@@ -1381,7 +1381,7 @@ namespace System.Reactive.Linq
             if (other == null)
             if (other == null)
                 throw new ArgumentNullException(nameof(other));
                 throw new ArgumentNullException(nameof(other));
 
 
-            return s_impl.SkipUntil<TSource, TOther>(source, other);
+            return s_impl.SkipUntil(source, other);
         }
         }
 
 
         #endregion
         #endregion
@@ -1403,7 +1403,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Switch<TSource>(sources);
+            return s_impl.Switch(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1421,7 +1421,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Switch<TSource>(sources);
+            return s_impl.Switch(sources);
         }
         }
 
 
         #endregion
         #endregion
@@ -1444,7 +1444,7 @@ namespace System.Reactive.Linq
             if (other == null)
             if (other == null)
                 throw new ArgumentNullException(nameof(other));
                 throw new ArgumentNullException(nameof(other));
 
 
-            return s_impl.TakeUntil<TSource, TOther>(source, other);
+            return s_impl.TakeUntil(source, other);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1496,7 +1496,7 @@ namespace System.Reactive.Linq
             if (windowClosingSelector == null)
             if (windowClosingSelector == null)
                 throw new ArgumentNullException(nameof(windowClosingSelector));
                 throw new ArgumentNullException(nameof(windowClosingSelector));
 
 
-            return s_impl.Window<TSource, TWindowClosing>(source, windowClosingSelector);
+            return s_impl.Window(source, windowClosingSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1519,7 +1519,7 @@ namespace System.Reactive.Linq
             if (windowClosingSelector == null)
             if (windowClosingSelector == null)
                 throw new ArgumentNullException(nameof(windowClosingSelector));
                 throw new ArgumentNullException(nameof(windowClosingSelector));
 
 
-            return s_impl.Window<TSource, TWindowOpening, TWindowClosing>(source, windowOpenings, windowClosingSelector);
+            return s_impl.Window(source, windowOpenings, windowClosingSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1538,7 +1538,7 @@ namespace System.Reactive.Linq
             if (windowBoundaries == null)
             if (windowBoundaries == null)
                 throw new ArgumentNullException(nameof(windowBoundaries));
                 throw new ArgumentNullException(nameof(windowBoundaries));
 
 
-            return s_impl.Window<TSource, TWindowBoundary>(source, windowBoundaries);
+            return s_impl.Window(source, windowBoundaries);
         }
         }
 
 
         #endregion
         #endregion
@@ -1567,7 +1567,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.WithLatestFrom<TFirst, TSecond, TResult>(first, second, resultSelector);
+            return s_impl.WithLatestFrom(first, second, resultSelector);
         }
         }
 
 
         #endregion
         #endregion
@@ -1594,7 +1594,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TResult>(first, second, resultSelector);
+            return s_impl.Zip(first, second, resultSelector);
         }
         }
 
 
         /* The following code is generated by a tool checked in to $/.../Source/Tools/CodeGenerators. */
         /* The following code is generated by a tool checked in to $/.../Source/Tools/CodeGenerators. */
@@ -1625,7 +1625,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TResult>(source1, source2, source3, resultSelector);
+            return s_impl.Zip(source1, source2, source3, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1656,7 +1656,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TResult>(source1, source2, source3, source4, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1691,7 +1691,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TResult>(source1, source2, source3, source4, source5, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1730,7 +1730,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TResult>(source1, source2, source3, source4, source5, source6, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1773,7 +1773,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TResult>(source1, source2, source3, source4, source5, source6, source7, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, source7, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1820,7 +1820,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, source7, source8, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1871,7 +1871,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, source7, source8, source9, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1926,7 +1926,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1985,7 +1985,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2048,7 +2048,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2115,7 +2115,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2186,7 +2186,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2261,7 +2261,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, source15, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, source15, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2340,7 +2340,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TSource3, TSource4, TSource5, TSource6, TSource7, TSource8, TSource9, TSource10, TSource11, TSource12, TSource13, TSource14, TSource15, TSource16, TResult>(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, source15, source16, resultSelector);
+            return s_impl.Zip(source1, source2, source3, source4, source5, source6, source7, source8, source9, source10, source11, source12, source13, source14, source15, source16, resultSelector);
         }
         }
 
 
         #endregion
         #endregion
@@ -2361,7 +2361,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource, TResult>(sources, resultSelector);
+            return s_impl.Zip(sources, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2376,7 +2376,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Zip<TSource>(sources);
+            return s_impl.Zip(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2391,7 +2391,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.Zip<TSource>(sources);
+            return s_impl.Zip(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -2414,7 +2414,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Zip<TSource1, TSource2, TResult>(first, second, resultSelector);
+            return s_impl.Zip(first, second, resultSelector);
         }
         }
 
 
         #endregion
         #endregion

+ 37 - 36
Rx.NET/Source/src/System.Reactive/Linq/Observable.Single.cs

@@ -24,7 +24,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Append<TSource>(source, value);
+            return s_impl.Append(source, value);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -43,7 +43,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Append<TSource>(source, value, scheduler);
+            return s_impl.Append(source, value, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -62,7 +62,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.AsObservable<TSource>(source);
+            return s_impl.AsObservable(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -85,7 +85,7 @@ namespace System.Reactive.Linq
             if (count <= 0)
             if (count <= 0)
                 throw new ArgumentOutOfRangeException(nameof(count));
                 throw new ArgumentOutOfRangeException(nameof(count));
 
 
-            return s_impl.Buffer<TSource>(source, count);
+            return s_impl.Buffer(source, count);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -107,7 +107,7 @@ namespace System.Reactive.Linq
             if (skip <= 0)
             if (skip <= 0)
                 throw new ArgumentOutOfRangeException(nameof(skip));
                 throw new ArgumentOutOfRangeException(nameof(skip));
 
 
-            return s_impl.Buffer<TSource>(source, count, skip);
+            return s_impl.Buffer(source, count, skip);
         }
         }
 
 
         #endregion
         #endregion
@@ -126,7 +126,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Dematerialize<TSource>(source);
+            return s_impl.Dematerialize(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -145,7 +145,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.DistinctUntilChanged<TSource>(source);
+            return s_impl.DistinctUntilChanged(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -163,7 +163,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.DistinctUntilChanged<TSource>(source, comparer);
+            return s_impl.DistinctUntilChanged(source, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -182,7 +182,7 @@ namespace System.Reactive.Linq
             if (keySelector == null)
             if (keySelector == null)
                 throw new ArgumentNullException(nameof(keySelector));
                 throw new ArgumentNullException(nameof(keySelector));
 
 
-            return s_impl.DistinctUntilChanged<TSource, TKey>(source, keySelector);
+            return s_impl.DistinctUntilChanged(source, keySelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -204,7 +204,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.DistinctUntilChanged<TSource, TKey>(source, keySelector, comparer);
+            return s_impl.DistinctUntilChanged(source, keySelector, comparer);
         }
         }
 
 
         #endregion
         #endregion
@@ -227,7 +227,7 @@ namespace System.Reactive.Linq
             if (onNext == null)
             if (onNext == null)
                 throw new ArgumentNullException(nameof(onNext));
                 throw new ArgumentNullException(nameof(onNext));
 
 
-            return s_impl.Do<TSource>(source, onNext);
+            return s_impl.Do(source, onNext);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -249,7 +249,7 @@ namespace System.Reactive.Linq
             if (onCompleted == null)
             if (onCompleted == null)
                 throw new ArgumentNullException(nameof(onCompleted));
                 throw new ArgumentNullException(nameof(onCompleted));
 
 
-            return s_impl.Do<TSource>(source, onNext, onCompleted);
+            return s_impl.Do(source, onNext, onCompleted);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -271,7 +271,7 @@ namespace System.Reactive.Linq
             if (onError == null)
             if (onError == null)
                 throw new ArgumentNullException(nameof(onError));
                 throw new ArgumentNullException(nameof(onError));
 
 
-            return s_impl.Do<TSource>(source, onNext, onError);
+            return s_impl.Do(source, onNext, onError);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -296,7 +296,7 @@ namespace System.Reactive.Linq
             if (onCompleted == null)
             if (onCompleted == null)
                 throw new ArgumentNullException(nameof(onCompleted));
                 throw new ArgumentNullException(nameof(onCompleted));
 
 
-            return s_impl.Do<TSource>(source, onNext, onError, onCompleted);
+            return s_impl.Do(source, onNext, onError, onCompleted);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -315,7 +315,7 @@ namespace System.Reactive.Linq
             if (observer == null)
             if (observer == null)
                 throw new ArgumentNullException(nameof(observer));
                 throw new ArgumentNullException(nameof(observer));
 
 
-            return s_impl.Do<TSource>(source, observer);
+            return s_impl.Do(source, observer);
         }
         }
 
 
         #endregion
         #endregion
@@ -337,7 +337,7 @@ namespace System.Reactive.Linq
             if (finallyAction == null)
             if (finallyAction == null)
                 throw new ArgumentNullException(nameof(finallyAction));
                 throw new ArgumentNullException(nameof(finallyAction));
 
 
-            return s_impl.Finally<TSource>(source, finallyAction);
+            return s_impl.Finally(source, finallyAction);
         }
         }
 
 
         #endregion
         #endregion
@@ -356,7 +356,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.IgnoreElements<TSource>(source);
+            return s_impl.IgnoreElements(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -375,7 +375,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Materialize<TSource>(source);
+            return s_impl.Materialize(source);
         }
         }
 
 
         #endregion
         #endregion
@@ -395,7 +395,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Prepend<TSource>(source, value);
+            return s_impl.Prepend(source, value);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -414,10 +414,11 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Prepend<TSource>(source, value, scheduler);
+            return s_impl.Prepend(source, value, scheduler);
         }
         }
 
 
         #endregion
         #endregion
+
         #region + Repeat +
         #region + Repeat +
 
 
         /// <summary>
         /// <summary>
@@ -432,7 +433,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Repeat<TSource>(source);
+            return s_impl.Repeat(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -451,7 +452,7 @@ namespace System.Reactive.Linq
             if (repeatCount < 0)
             if (repeatCount < 0)
                 throw new ArgumentOutOfRangeException(nameof(repeatCount));
                 throw new ArgumentOutOfRangeException(nameof(repeatCount));
 
 
-            return s_impl.Repeat<TSource>(source, repeatCount);
+            return s_impl.Repeat(source, repeatCount);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -495,7 +496,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Retry<TSource>(source);
+            return s_impl.Retry(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -514,7 +515,7 @@ namespace System.Reactive.Linq
             if (retryCount < 0)
             if (retryCount < 0)
                 throw new ArgumentOutOfRangeException(nameof(retryCount));
                 throw new ArgumentOutOfRangeException(nameof(retryCount));
 
 
-            return s_impl.Retry<TSource>(source, retryCount);
+            return s_impl.Retry(source, retryCount);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -564,7 +565,7 @@ namespace System.Reactive.Linq
             if (accumulator == null)
             if (accumulator == null)
                 throw new ArgumentNullException(nameof(accumulator));
                 throw new ArgumentNullException(nameof(accumulator));
 
 
-            return s_impl.Scan<TSource, TAccumulate>(source, seed, accumulator);
+            return s_impl.Scan(source, seed, accumulator);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -583,7 +584,7 @@ namespace System.Reactive.Linq
             if (accumulator == null)
             if (accumulator == null)
                 throw new ArgumentNullException(nameof(accumulator));
                 throw new ArgumentNullException(nameof(accumulator));
 
 
-            return s_impl.Scan<TSource>(source, accumulator);
+            return s_impl.Scan(source, accumulator);
         }
         }
 
 
         #endregion
         #endregion
@@ -610,7 +611,7 @@ namespace System.Reactive.Linq
             if (count < 0)
             if (count < 0)
                 throw new ArgumentOutOfRangeException(nameof(count));
                 throw new ArgumentOutOfRangeException(nameof(count));
 
 
-            return s_impl.SkipLast<TSource>(source, count);
+            return s_impl.SkipLast(source, count);
         }
         }
 
 
         #endregion
         #endregion
@@ -632,7 +633,7 @@ namespace System.Reactive.Linq
             if (values == null)
             if (values == null)
                 throw new ArgumentNullException(nameof(values));
                 throw new ArgumentNullException(nameof(values));
 
 
-            return s_impl.StartWith<TSource>(source, values);
+            return s_impl.StartWith(source, values);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -650,7 +651,7 @@ namespace System.Reactive.Linq
             if (values == null)
             if (values == null)
                 throw new ArgumentNullException(nameof(values));
                 throw new ArgumentNullException(nameof(values));
 
 
-            return s_impl.StartWith<TSource>(source, values);
+            return s_impl.StartWith(source, values);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -671,7 +672,7 @@ namespace System.Reactive.Linq
             if (values == null)
             if (values == null)
                 throw new ArgumentNullException(nameof(values));
                 throw new ArgumentNullException(nameof(values));
 
 
-            return s_impl.StartWith<TSource>(source, scheduler, values);
+            return s_impl.StartWith(source, scheduler, values);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -697,7 +698,7 @@ namespace System.Reactive.Linq
             if (values == null)
             if (values == null)
                 throw new ArgumentNullException(nameof(values));
                 throw new ArgumentNullException(nameof(values));
 
 
-            return s_impl.StartWith<TSource>(source, scheduler, values);
+            return s_impl.StartWith(source, scheduler, values);
         }
         }
 
 
         #endregion
         #endregion
@@ -724,7 +725,7 @@ namespace System.Reactive.Linq
             if (count < 0)
             if (count < 0)
                 throw new ArgumentOutOfRangeException(nameof(count));
                 throw new ArgumentOutOfRangeException(nameof(count));
 
 
-            return s_impl.TakeLast<TSource>(source, count);
+            return s_impl.TakeLast(source, count);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -750,7 +751,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.TakeLast<TSource>(source, count, scheduler);
+            return s_impl.TakeLast(source, count, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -777,7 +778,7 @@ namespace System.Reactive.Linq
             if (count < 0)
             if (count < 0)
                 throw new ArgumentOutOfRangeException(nameof(count));
                 throw new ArgumentOutOfRangeException(nameof(count));
 
 
-            return s_impl.TakeLastBuffer<TSource>(source, count);
+            return s_impl.TakeLastBuffer(source, count);
         }
         }
 
 
         #endregion
         #endregion
@@ -800,7 +801,7 @@ namespace System.Reactive.Linq
             if (count <= 0)
             if (count <= 0)
                 throw new ArgumentOutOfRangeException(nameof(count));
                 throw new ArgumentOutOfRangeException(nameof(count));
 
 
-            return s_impl.Window<TSource>(source, count);
+            return s_impl.Window(source, count);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -822,7 +823,7 @@ namespace System.Reactive.Linq
             if (skip <= 0)
             if (skip <= 0)
                 throw new ArgumentOutOfRangeException(nameof(skip));
                 throw new ArgumentOutOfRangeException(nameof(skip));
 
 
-            return s_impl.Window<TSource>(source, count, skip);
+            return s_impl.Window(source, count, skip);
         }
         }
 
 
         #endregion
         #endregion

+ 54 - 54
Rx.NET/Source/src/System.Reactive/Linq/Observable.StandardSequenceOperators.cs

@@ -45,7 +45,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.DefaultIfEmpty<TSource>(source);
+            return s_impl.DefaultIfEmpty(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -61,7 +61,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.DefaultIfEmpty<TSource>(source, defaultValue);
+            return s_impl.DefaultIfEmpty(source, defaultValue);
         }
         }
 
 
         #endregion
         #endregion
@@ -81,7 +81,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Distinct<TSource>(source);
+            return s_impl.Distinct(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -100,7 +100,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.Distinct<TSource>(source, comparer);
+            return s_impl.Distinct(source, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -120,7 +120,7 @@ namespace System.Reactive.Linq
             if (keySelector == null)
             if (keySelector == null)
                 throw new ArgumentNullException(nameof(keySelector));
                 throw new ArgumentNullException(nameof(keySelector));
 
 
-            return s_impl.Distinct<TSource, TKey>(source, keySelector);
+            return s_impl.Distinct(source, keySelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -143,7 +143,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.Distinct<TSource, TKey>(source, keySelector, comparer);
+            return s_impl.Distinct(source, keySelector, comparer);
         }
         }
 
 
         #endregion
         #endregion
@@ -166,7 +166,7 @@ namespace System.Reactive.Linq
             if (keySelector == null)
             if (keySelector == null)
                 throw new ArgumentNullException(nameof(keySelector));
                 throw new ArgumentNullException(nameof(keySelector));
 
 
-            return s_impl.GroupBy<TSource, TKey>(source, keySelector);
+            return s_impl.GroupBy(source, keySelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -188,7 +188,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.GroupBy<TSource, TKey>(source, keySelector, comparer);
+            return s_impl.GroupBy(source, keySelector, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -211,7 +211,7 @@ namespace System.Reactive.Linq
             if (elementSelector == null)
             if (elementSelector == null)
                 throw new ArgumentNullException(nameof(elementSelector));
                 throw new ArgumentNullException(nameof(elementSelector));
 
 
-            return s_impl.GroupBy<TSource, TKey, TElement>(source, keySelector, elementSelector);
+            return s_impl.GroupBy(source, keySelector, elementSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -237,7 +237,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.GroupBy<TSource, TKey, TElement>(source, keySelector, elementSelector, comparer);
+            return s_impl.GroupBy(source, keySelector, elementSelector, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -260,7 +260,7 @@ namespace System.Reactive.Linq
             if (capacity < 0)
             if (capacity < 0)
                 throw new ArgumentOutOfRangeException(nameof(capacity));
                 throw new ArgumentOutOfRangeException(nameof(capacity));
 
 
-            return s_impl.GroupBy<TSource, TKey>(source, keySelector, capacity);
+            return s_impl.GroupBy(source, keySelector, capacity);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -286,7 +286,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.GroupBy<TSource, TKey>(source, keySelector, capacity, comparer);
+            return s_impl.GroupBy(source, keySelector, capacity, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -313,7 +313,7 @@ namespace System.Reactive.Linq
             if (capacity < 0)
             if (capacity < 0)
                 throw new ArgumentOutOfRangeException(nameof(capacity));
                 throw new ArgumentOutOfRangeException(nameof(capacity));
 
 
-            return s_impl.GroupBy<TSource, TKey, TElement>(source, keySelector, elementSelector, capacity);
+            return s_impl.GroupBy(source, keySelector, elementSelector, capacity);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -343,7 +343,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.GroupBy<TSource, TKey, TElement>(source, keySelector, elementSelector, capacity, comparer);
+            return s_impl.GroupBy(source, keySelector, elementSelector, capacity, comparer);
         }
         }
 
 
         #endregion
         #endregion
@@ -382,7 +382,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.GroupByUntil<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, comparer);
+            return s_impl.GroupByUntil(source, keySelector, elementSelector, durationSelector, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -414,7 +414,7 @@ namespace System.Reactive.Linq
             if (durationSelector == null)
             if (durationSelector == null)
                 throw new ArgumentNullException(nameof(durationSelector));
                 throw new ArgumentNullException(nameof(durationSelector));
 
 
-            return s_impl.GroupByUntil<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector);
+            return s_impl.GroupByUntil(source, keySelector, elementSelector, durationSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -445,7 +445,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.GroupByUntil<TSource, TKey, TDuration>(source, keySelector, durationSelector, comparer);
+            return s_impl.GroupByUntil(source, keySelector, durationSelector, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -473,7 +473,7 @@ namespace System.Reactive.Linq
             if (durationSelector == null)
             if (durationSelector == null)
                 throw new ArgumentNullException(nameof(durationSelector));
                 throw new ArgumentNullException(nameof(durationSelector));
 
 
-            return s_impl.GroupByUntil<TSource, TKey, TDuration>(source, keySelector, durationSelector);
+            return s_impl.GroupByUntil(source, keySelector, durationSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -512,7 +512,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.GroupByUntil<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, capacity, comparer);
+            return s_impl.GroupByUntil(source, keySelector, elementSelector, durationSelector, capacity, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -548,7 +548,7 @@ namespace System.Reactive.Linq
             if (capacity < 0)
             if (capacity < 0)
                 throw new ArgumentOutOfRangeException(nameof(capacity));
                 throw new ArgumentOutOfRangeException(nameof(capacity));
 
 
-            return s_impl.GroupByUntil<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, capacity);
+            return s_impl.GroupByUntil(source, keySelector, elementSelector, durationSelector, capacity);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -583,7 +583,7 @@ namespace System.Reactive.Linq
             if (comparer == null)
             if (comparer == null)
                 throw new ArgumentNullException(nameof(comparer));
                 throw new ArgumentNullException(nameof(comparer));
 
 
-            return s_impl.GroupByUntil<TSource, TKey, TDuration>(source, keySelector, durationSelector, capacity, comparer);
+            return s_impl.GroupByUntil(source, keySelector, durationSelector, capacity, comparer);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -615,7 +615,7 @@ namespace System.Reactive.Linq
             if (capacity < 0)
             if (capacity < 0)
                 throw new ArgumentOutOfRangeException(nameof(capacity));
                 throw new ArgumentOutOfRangeException(nameof(capacity));
 
 
-            return s_impl.GroupByUntil<TSource, TKey, TDuration>(source, keySelector, durationSelector, capacity);
+            return s_impl.GroupByUntil(source, keySelector, durationSelector, capacity);
         }
         }
 
 
         #endregion
         #endregion
@@ -650,7 +650,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(left, right, leftDurationSelector, rightDurationSelector, resultSelector);
+            return s_impl.GroupJoin(left, right, leftDurationSelector, rightDurationSelector, resultSelector);
         }
         }
 
 
         #endregion
         #endregion
@@ -685,7 +685,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.Join<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(left, right, leftDurationSelector, rightDurationSelector, resultSelector);
+            return s_impl.Join(left, right, leftDurationSelector, rightDurationSelector, resultSelector);
         }
         }
 
 
         #endregion
         #endregion
@@ -727,7 +727,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Select<TSource, TResult>(source, selector);
+            return s_impl.Select(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -746,7 +746,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Select<TSource, TResult>(source, selector);
+            return s_impl.Select(source, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -769,7 +769,7 @@ namespace System.Reactive.Linq
             if (other == null)
             if (other == null)
                 throw new ArgumentNullException(nameof(other));
                 throw new ArgumentNullException(nameof(other));
 
 
-            return s_impl.SelectMany<TSource, TOther>(source, other);
+            return s_impl.SelectMany(source, other);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -788,7 +788,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.SelectMany<TSource, TResult>(source, selector);
+            return s_impl.SelectMany(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -807,7 +807,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.SelectMany<TSource, TResult>(source, selector);
+            return s_impl.SelectMany(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -827,7 +827,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.SelectMany<TSource, TResult>(source, selector);
+            return s_impl.SelectMany(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -847,7 +847,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.SelectMany<TSource, TResult>(source, selector);
+            return s_impl.SelectMany(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -867,7 +867,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.SelectMany<TSource, TResult>(source, selector);
+            return s_impl.SelectMany(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -887,7 +887,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.SelectMany<TSource, TResult>(source, selector);
+            return s_impl.SelectMany(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -910,7 +910,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.SelectMany<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+            return s_impl.SelectMany(source, collectionSelector, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -933,7 +933,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.SelectMany<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+            return s_impl.SelectMany(source, collectionSelector, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -957,7 +957,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+            return s_impl.SelectMany(source, taskSelector, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -981,7 +981,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+            return s_impl.SelectMany(source, taskSelector, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1005,7 +1005,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+            return s_impl.SelectMany(source, taskSelector, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1029,7 +1029,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.SelectMany<TSource, TTaskResult, TResult>(source, taskSelector, resultSelector);
+            return s_impl.SelectMany(source, taskSelector, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1054,7 +1054,7 @@ namespace System.Reactive.Linq
             if (onCompleted == null)
             if (onCompleted == null)
                 throw new ArgumentNullException(nameof(onCompleted));
                 throw new ArgumentNullException(nameof(onCompleted));
 
 
-            return s_impl.SelectMany<TSource, TResult>(source, onNext, onError, onCompleted);
+            return s_impl.SelectMany(source, onNext, onError, onCompleted);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1079,7 +1079,7 @@ namespace System.Reactive.Linq
             if (onCompleted == null)
             if (onCompleted == null)
                 throw new ArgumentNullException(nameof(onCompleted));
                 throw new ArgumentNullException(nameof(onCompleted));
 
 
-            return s_impl.SelectMany<TSource, TResult>(source, onNext, onError, onCompleted);
+            return s_impl.SelectMany(source, onNext, onError, onCompleted);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1099,7 +1099,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.SelectMany<TSource, TResult>(source, selector);
+            return s_impl.SelectMany(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1119,7 +1119,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.SelectMany<TSource, TResult>(source, selector);
+            return s_impl.SelectMany(source, selector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1143,7 +1143,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.SelectMany<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+            return s_impl.SelectMany(source, collectionSelector, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1167,7 +1167,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.SelectMany<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+            return s_impl.SelectMany(source, collectionSelector, resultSelector);
         }
         }
 
 
         #endregion
         #endregion
@@ -1190,7 +1190,7 @@ namespace System.Reactive.Linq
             if (count < 0)
             if (count < 0)
                 throw new ArgumentOutOfRangeException(nameof(count));
                 throw new ArgumentOutOfRangeException(nameof(count));
 
 
-            return s_impl.Skip<TSource>(source, count);
+            return s_impl.Skip(source, count);
         }
         }
 
 
         #endregion
         #endregion
@@ -1212,7 +1212,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.SkipWhile<TSource>(source, predicate);
+            return s_impl.SkipWhile(source, predicate);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1231,7 +1231,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.SkipWhile<TSource>(source, predicate);
+            return s_impl.SkipWhile(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -1254,7 +1254,7 @@ namespace System.Reactive.Linq
             if (count < 0)
             if (count < 0)
                 throw new ArgumentOutOfRangeException(nameof(count));
                 throw new ArgumentOutOfRangeException(nameof(count));
 
 
-            return s_impl.Take<TSource>(source, count);
+            return s_impl.Take(source, count);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1276,7 +1276,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Take<TSource>(source, count, scheduler);
+            return s_impl.Take(source, count, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1298,7 +1298,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.TakeWhile<TSource>(source, predicate);
+            return s_impl.TakeWhile(source, predicate);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1317,7 +1317,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.TakeWhile<TSource>(source, predicate);
+            return s_impl.TakeWhile(source, predicate);
         }
         }
 
 
         #endregion
         #endregion
@@ -1339,7 +1339,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.Where<TSource>(source, predicate);
+            return s_impl.Where(source, predicate);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1357,7 +1357,7 @@ namespace System.Reactive.Linq
             if (predicate == null)
             if (predicate == null)
                 throw new ArgumentNullException(nameof(predicate));
                 throw new ArgumentNullException(nameof(predicate));
 
 
-            return s_impl.Where<TSource>(source, predicate);
+            return s_impl.Where(source, predicate);
         }
         }
 
 
         #endregion
         #endregion

+ 67 - 67
Rx.NET/Source/src/System.Reactive/Linq/Observable.Time.cs

@@ -34,7 +34,7 @@ namespace System.Reactive.Linq
             if (timeSpan < TimeSpan.Zero)
             if (timeSpan < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(timeSpan));
                 throw new ArgumentOutOfRangeException(nameof(timeSpan));
 
 
-            return s_impl.Buffer<TSource>(source, timeSpan);
+            return s_impl.Buffer(source, timeSpan);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -61,7 +61,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Buffer<TSource>(source, timeSpan, scheduler);
+            return s_impl.Buffer(source, timeSpan, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -95,7 +95,7 @@ namespace System.Reactive.Linq
             if (timeShift < TimeSpan.Zero)
             if (timeShift < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(timeShift));
                 throw new ArgumentOutOfRangeException(nameof(timeShift));
 
 
-            return s_impl.Buffer<TSource>(source, timeSpan, timeShift);
+            return s_impl.Buffer(source, timeSpan, timeShift);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -132,7 +132,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Buffer<TSource>(source, timeSpan, timeShift, scheduler);
+            return s_impl.Buffer(source, timeSpan, timeShift, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -164,7 +164,7 @@ namespace System.Reactive.Linq
             if (count <= 0)
             if (count <= 0)
                 throw new ArgumentOutOfRangeException(nameof(count));
                 throw new ArgumentOutOfRangeException(nameof(count));
 
 
-            return s_impl.Buffer<TSource>(source, timeSpan, count);
+            return s_impl.Buffer(source, timeSpan, count);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -195,7 +195,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Buffer<TSource>(source, timeSpan, count, scheduler);
+            return s_impl.Buffer(source, timeSpan, count, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -225,7 +225,7 @@ namespace System.Reactive.Linq
         /// </para>
         /// </para>
         /// <para>
         /// <para>
         /// Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
         /// Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
-        /// In order to delay error propagation, consider using the <see cref="Observable.Materialize">Observable.Materialize</see> and <see cref="Observable.Dematerialize">Observable.Dematerialize</see> operators, or use <see cref="Observable.DelaySubscription{T}(IObservable{T}, TimeSpan)">DelaySubscription</see>.
+        /// In order to delay error propagation, consider using the <see cref="Materialize">Observable.Materialize</see> and <see cref="Dematerialize">Observable.Dematerialize</see> operators, or use <see cref="Observable.DelaySubscription{T}(IObservable{T}, TimeSpan)">DelaySubscription</see>.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
         public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, TimeSpan dueTime)
         public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, TimeSpan dueTime)
@@ -235,7 +235,7 @@ namespace System.Reactive.Linq
             if (dueTime < TimeSpan.Zero)
             if (dueTime < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(dueTime));
                 throw new ArgumentOutOfRangeException(nameof(dueTime));
 
 
-            return s_impl.Delay<TSource>(source, dueTime);
+            return s_impl.Delay(source, dueTime);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -261,7 +261,7 @@ namespace System.Reactive.Linq
         /// </para>
         /// </para>
         /// <para>
         /// <para>
         /// Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
         /// Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
-        /// In order to delay error propagation, consider using the <see cref="Observable.Materialize">Observable.Materialize</see> and <see cref="Observable.Dematerialize">Observable.Dematerialize</see> operators, or use <see cref="Observable.DelaySubscription{T}(IObservable{T}, TimeSpan, IScheduler)">DelaySubscription</see>.
+        /// In order to delay error propagation, consider using the <see cref="Materialize">Observable.Materialize</see> and <see cref="Dematerialize">Observable.Dematerialize</see> operators, or use <see cref="Observable.DelaySubscription{T}(IObservable{T}, TimeSpan, IScheduler)">DelaySubscription</see>.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
         public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
@@ -273,7 +273,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Delay<TSource>(source, dueTime, scheduler);
+            return s_impl.Delay(source, dueTime, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -298,7 +298,7 @@ namespace System.Reactive.Linq
         /// </para>
         /// </para>
         /// <para>
         /// <para>
         /// Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
         /// Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
-        /// In order to delay error propagation, consider using the <see cref="Observable.Materialize">Observable.Materialize</see> and <see cref="Observable.Dematerialize">Observable.Dematerialize</see> operators, or use <see cref="Observable.DelaySubscription{T}(IObservable{T}, DateTimeOffset)">DelaySubscription</see>.
+        /// In order to delay error propagation, consider using the <see cref="Materialize">Observable.Materialize</see> and <see cref="Dematerialize">Observable.Dematerialize</see> operators, or use <see cref="Observable.DelaySubscription{T}(IObservable{T}, DateTimeOffset)">DelaySubscription</see>.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
         public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime)
         public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime)
@@ -306,7 +306,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Delay<TSource>(source, dueTime);
+            return s_impl.Delay(source, dueTime);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -328,7 +328,7 @@ namespace System.Reactive.Linq
         /// </para>
         /// </para>
         /// <para>
         /// <para>
         /// Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
         /// Exceptions signaled by the source sequence through an OnError callback are forwarded immediately to the result sequence. Any OnNext notifications that were in the queue at the point of the OnError callback will be dropped.
-        /// In order to delay error propagation, consider using the <see cref="Observable.Materialize">Observable.Materialize</see> and <see cref="Observable.Dematerialize">Observable.Dematerialize</see> operators, or use <see cref="Observable.DelaySubscription{T}(IObservable{T}, DateTimeOffset, IScheduler)">DelaySubscription</see>.
+        /// In order to delay error propagation, consider using the <see cref="Materialize">Observable.Materialize</see> and <see cref="Dematerialize">Observable.Dematerialize</see> operators, or use <see cref="Observable.DelaySubscription{T}(IObservable{T}, DateTimeOffset, IScheduler)">DelaySubscription</see>.
         /// </para>
         /// </para>
         /// </remarks>
         /// </remarks>
         public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
         public static IObservable<TSource> Delay<TSource>(this IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
@@ -338,7 +338,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Delay<TSource>(source, dueTime, scheduler);
+            return s_impl.Delay(source, dueTime, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -361,7 +361,7 @@ namespace System.Reactive.Linq
             if (delayDurationSelector == null)
             if (delayDurationSelector == null)
                 throw new ArgumentNullException(nameof(delayDurationSelector));
                 throw new ArgumentNullException(nameof(delayDurationSelector));
 
 
-            return s_impl.Delay<TSource, TDelay>(source, delayDurationSelector);
+            return s_impl.Delay(source, delayDurationSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -383,7 +383,7 @@ namespace System.Reactive.Linq
             if (delayDurationSelector == null)
             if (delayDurationSelector == null)
                 throw new ArgumentNullException(nameof(delayDurationSelector));
                 throw new ArgumentNullException(nameof(delayDurationSelector));
 
 
-            return s_impl.Delay<TSource, TDelay>(source, subscriptionDelay, delayDurationSelector);
+            return s_impl.Delay(source, subscriptionDelay, delayDurationSelector);
         }
         }
 
 
         #endregion
         #endregion
@@ -416,7 +416,7 @@ namespace System.Reactive.Linq
             if (dueTime < TimeSpan.Zero)
             if (dueTime < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(dueTime));
                 throw new ArgumentOutOfRangeException(nameof(dueTime));
 
 
-            return s_impl.DelaySubscription<TSource>(source, dueTime);
+            return s_impl.DelaySubscription(source, dueTime);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -446,7 +446,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.DelaySubscription<TSource>(source, dueTime, scheduler);
+            return s_impl.DelaySubscription(source, dueTime, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -470,7 +470,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.DelaySubscription<TSource>(source, dueTime);
+            return s_impl.DelaySubscription(source, dueTime);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -497,7 +497,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.DelaySubscription<TSource>(source, dueTime, scheduler);
+            return s_impl.DelaySubscription(source, dueTime, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -527,7 +527,7 @@ namespace System.Reactive.Linq
             if (timeSelector == null)
             if (timeSelector == null)
                 throw new ArgumentNullException(nameof(timeSelector));
                 throw new ArgumentNullException(nameof(timeSelector));
 
 
-            return s_impl.Generate<TState, TResult>(initialState, condition, iterate, resultSelector, timeSelector);
+            return s_impl.Generate(initialState, condition, iterate, resultSelector, timeSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -556,7 +556,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Generate<TState, TResult>(initialState, condition, iterate, resultSelector, timeSelector, scheduler);
+            return s_impl.Generate(initialState, condition, iterate, resultSelector, timeSelector, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -582,7 +582,7 @@ namespace System.Reactive.Linq
             if (timeSelector == null)
             if (timeSelector == null)
                 throw new ArgumentNullException(nameof(timeSelector));
                 throw new ArgumentNullException(nameof(timeSelector));
 
 
-            return s_impl.Generate<TState, TResult>(initialState, condition, iterate, resultSelector, timeSelector);
+            return s_impl.Generate(initialState, condition, iterate, resultSelector, timeSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -611,7 +611,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Generate<TState, TResult>(initialState, condition, iterate, resultSelector, timeSelector, scheduler);
+            return s_impl.Generate(initialState, condition, iterate, resultSelector, timeSelector, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -689,7 +689,7 @@ namespace System.Reactive.Linq
             if (interval < TimeSpan.Zero)
             if (interval < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(interval));
                 throw new ArgumentOutOfRangeException(nameof(interval));
 
 
-            return s_impl.Sample<TSource>(source, interval);
+            return s_impl.Sample(source, interval);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -716,7 +716,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Sample<TSource>(source, interval, scheduler);
+            return s_impl.Sample(source, interval, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -736,7 +736,7 @@ namespace System.Reactive.Linq
             if (sampler == null)
             if (sampler == null)
                 throw new ArgumentNullException(nameof(sampler));
                 throw new ArgumentNullException(nameof(sampler));
 
 
-            return s_impl.Sample<TSource, TSample>(source, sampler);
+            return s_impl.Sample(source, sampler);
         }
         }
 
 
         #endregion
         #endregion
@@ -769,7 +769,7 @@ namespace System.Reactive.Linq
             if (duration < TimeSpan.Zero)
             if (duration < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(duration));
                 throw new ArgumentOutOfRangeException(nameof(duration));
 
 
-            return s_impl.Skip<TSource>(source, duration);
+            return s_impl.Skip(source, duration);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -801,7 +801,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Skip<TSource>(source, duration, scheduler);
+            return s_impl.Skip(source, duration, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -829,7 +829,7 @@ namespace System.Reactive.Linq
             if (duration < TimeSpan.Zero)
             if (duration < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(duration));
                 throw new ArgumentOutOfRangeException(nameof(duration));
 
 
-            return s_impl.SkipLast<TSource>(source, duration);
+            return s_impl.SkipLast(source, duration);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -856,7 +856,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.SkipLast<TSource>(source, duration, scheduler);
+            return s_impl.SkipLast(source, duration, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -879,7 +879,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.SkipUntil<TSource>(source, startTime);
+            return s_impl.SkipUntil(source, startTime);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -901,7 +901,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.SkipUntil<TSource>(source, startTime, scheduler);
+            return s_impl.SkipUntil(source, startTime, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -929,7 +929,7 @@ namespace System.Reactive.Linq
             if (duration < TimeSpan.Zero)
             if (duration < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(duration));
                 throw new ArgumentOutOfRangeException(nameof(duration));
 
 
-            return s_impl.Take<TSource>(source, duration);
+            return s_impl.Take(source, duration);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -956,7 +956,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Take<TSource>(source, duration, scheduler);
+            return s_impl.Take(source, duration, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -984,7 +984,7 @@ namespace System.Reactive.Linq
             if (duration < TimeSpan.Zero)
             if (duration < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(duration));
                 throw new ArgumentOutOfRangeException(nameof(duration));
 
 
-            return s_impl.TakeLast<TSource>(source, duration);
+            return s_impl.TakeLast(source, duration);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1011,7 +1011,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.TakeLast<TSource>(source, duration, scheduler);
+            return s_impl.TakeLast(source, duration, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1041,7 +1041,7 @@ namespace System.Reactive.Linq
             if (loopScheduler == null)
             if (loopScheduler == null)
                 throw new ArgumentNullException(nameof(loopScheduler));
                 throw new ArgumentNullException(nameof(loopScheduler));
 
 
-            return s_impl.TakeLast<TSource>(source, duration, timerScheduler, loopScheduler);
+            return s_impl.TakeLast(source, duration, timerScheduler, loopScheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1068,7 +1068,7 @@ namespace System.Reactive.Linq
             if (duration < TimeSpan.Zero)
             if (duration < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(duration));
                 throw new ArgumentOutOfRangeException(nameof(duration));
 
 
-            return s_impl.TakeLastBuffer<TSource>(source, duration);
+            return s_impl.TakeLastBuffer(source, duration);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1094,7 +1094,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.TakeLastBuffer<TSource>(source, duration, scheduler);
+            return s_impl.TakeLastBuffer(source, duration, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1114,7 +1114,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.TakeUntil<TSource>(source, endTime);
+            return s_impl.TakeUntil(source, endTime);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1133,7 +1133,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.TakeUntil<TSource>(source, endTime, scheduler);
+            return s_impl.TakeUntil(source, endTime, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1171,7 +1171,7 @@ namespace System.Reactive.Linq
             if (dueTime < TimeSpan.Zero)
             if (dueTime < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(dueTime));
                 throw new ArgumentOutOfRangeException(nameof(dueTime));
 
 
-            return s_impl.Throttle<TSource>(source, dueTime);
+            return s_impl.Throttle(source, dueTime);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1208,7 +1208,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Throttle<TSource>(source, dueTime, scheduler);
+            return s_impl.Throttle(source, dueTime, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1234,7 +1234,7 @@ namespace System.Reactive.Linq
             if (throttleDurationSelector == null)
             if (throttleDurationSelector == null)
                 throw new ArgumentNullException(nameof(throttleDurationSelector));
                 throw new ArgumentNullException(nameof(throttleDurationSelector));
 
 
-            return s_impl.Throttle<TSource, TThrottle>(source, throttleDurationSelector);
+            return s_impl.Throttle(source, throttleDurationSelector);
         }
         }
 
 
         #endregion
         #endregion
@@ -1253,7 +1253,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.TimeInterval<TSource>(source);
+            return s_impl.TimeInterval(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1271,7 +1271,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.TimeInterval<TSource>(source, scheduler);
+            return s_impl.TimeInterval(source, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1311,7 +1311,7 @@ namespace System.Reactive.Linq
             if (dueTime < TimeSpan.Zero)
             if (dueTime < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(dueTime));
                 throw new ArgumentOutOfRangeException(nameof(dueTime));
 
 
-            return s_impl.Timeout<TSource>(source, dueTime);
+            return s_impl.Timeout(source, dueTime);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1348,7 +1348,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Timeout<TSource>(source, dueTime, scheduler);
+            return s_impl.Timeout(source, dueTime, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1384,7 +1384,7 @@ namespace System.Reactive.Linq
             if (other == null)
             if (other == null)
                 throw new ArgumentNullException(nameof(other));
                 throw new ArgumentNullException(nameof(other));
 
 
-            return s_impl.Timeout<TSource>(source, dueTime, other);
+            return s_impl.Timeout(source, dueTime, other);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1423,7 +1423,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Timeout<TSource>(source, dueTime, other, scheduler);
+            return s_impl.Timeout(source, dueTime, other, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1450,7 +1450,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Timeout<TSource>(source, dueTime);
+            return s_impl.Timeout(source, dueTime);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1476,7 +1476,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Timeout<TSource>(source, dueTime, scheduler);
+            return s_impl.Timeout(source, dueTime, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1501,7 +1501,7 @@ namespace System.Reactive.Linq
             if (other == null)
             if (other == null)
                 throw new ArgumentNullException(nameof(other));
                 throw new ArgumentNullException(nameof(other));
 
 
-            return s_impl.Timeout<TSource>(source, dueTime, other);
+            return s_impl.Timeout(source, dueTime, other);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1529,7 +1529,7 @@ namespace System.Reactive.Linq
             if (other == null)
             if (other == null)
                 throw new ArgumentNullException(nameof(other));
                 throw new ArgumentNullException(nameof(other));
 
 
-            return s_impl.Timeout<TSource>(source, dueTime, other, scheduler);
+            return s_impl.Timeout(source, dueTime, other, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1553,7 +1553,7 @@ namespace System.Reactive.Linq
             if (timeoutDurationSelector == null)
             if (timeoutDurationSelector == null)
                 throw new ArgumentNullException(nameof(timeoutDurationSelector));
                 throw new ArgumentNullException(nameof(timeoutDurationSelector));
 
 
-            return s_impl.Timeout<TSource, TTimeout>(source, timeoutDurationSelector);
+            return s_impl.Timeout(source, timeoutDurationSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1576,7 +1576,7 @@ namespace System.Reactive.Linq
             if (other == null)
             if (other == null)
                 throw new ArgumentNullException(nameof(other));
                 throw new ArgumentNullException(nameof(other));
 
 
-            return s_impl.Timeout<TSource, TTimeout>(source, timeoutDurationSelector, other);
+            return s_impl.Timeout(source, timeoutDurationSelector, other);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1599,7 +1599,7 @@ namespace System.Reactive.Linq
             if (timeoutDurationSelector == null)
             if (timeoutDurationSelector == null)
                 throw new ArgumentNullException(nameof(timeoutDurationSelector));
                 throw new ArgumentNullException(nameof(timeoutDurationSelector));
 
 
-            return s_impl.Timeout<TSource, TTimeout>(source, firstTimeout, timeoutDurationSelector);
+            return s_impl.Timeout(source, firstTimeout, timeoutDurationSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1625,7 +1625,7 @@ namespace System.Reactive.Linq
             if (other == null)
             if (other == null)
                 throw new ArgumentNullException(nameof(other));
                 throw new ArgumentNullException(nameof(other));
 
 
-            return s_impl.Timeout<TSource, TTimeout>(source, firstTimeout, timeoutDurationSelector, other);
+            return s_impl.Timeout(source, firstTimeout, timeoutDurationSelector, other);
         }
         }
 
 
         #endregion
         #endregion
@@ -1768,7 +1768,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.Timestamp<TSource>(source);
+            return s_impl.Timestamp(source);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1786,7 +1786,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Timestamp<TSource>(source, scheduler);
+            return s_impl.Timestamp(source, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1816,7 +1816,7 @@ namespace System.Reactive.Linq
             if (timeSpan < TimeSpan.Zero)
             if (timeSpan < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(timeSpan));
                 throw new ArgumentOutOfRangeException(nameof(timeSpan));
 
 
-            return s_impl.Window<TSource>(source, timeSpan);
+            return s_impl.Window(source, timeSpan);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1843,7 +1843,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Window<TSource>(source, timeSpan, scheduler);
+            return s_impl.Window(source, timeSpan, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1877,7 +1877,7 @@ namespace System.Reactive.Linq
             if (timeShift < TimeSpan.Zero)
             if (timeShift < TimeSpan.Zero)
                 throw new ArgumentOutOfRangeException(nameof(timeShift));
                 throw new ArgumentOutOfRangeException(nameof(timeShift));
 
 
-            return s_impl.Window<TSource>(source, timeSpan, timeShift);
+            return s_impl.Window(source, timeSpan, timeShift);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1914,7 +1914,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Window<TSource>(source, timeSpan, timeShift, scheduler);
+            return s_impl.Window(source, timeSpan, timeShift, scheduler);
         }
         }
 
 
         #endregion
         #endregion
@@ -1946,7 +1946,7 @@ namespace System.Reactive.Linq
             if (count <= 0)
             if (count <= 0)
                 throw new ArgumentOutOfRangeException(nameof(count));
                 throw new ArgumentOutOfRangeException(nameof(count));
 
 
-            return s_impl.Window<TSource>(source, timeSpan, count);
+            return s_impl.Window(source, timeSpan, count);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -1977,7 +1977,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Window<TSource>(source, timeSpan, count, scheduler);
+            return s_impl.Window(source, timeSpan, count, scheduler);
         }
         }
 
 
         #endregion
         #endregion

+ 0 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/AmbMany.cs

@@ -2,10 +2,8 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
-using System.Text;
 using System.Threading;
 using System.Threading;
 using System.Linq;
 using System.Linq;
 
 

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Case.cs

@@ -3,7 +3,6 @@
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Reactive.Disposables;
 
 
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl
 {
 {

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/CombineLatest.cs

@@ -422,7 +422,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
 
                 _values = new List<TSource>(N);
                 _values = new List<TSource>(N);
                 for (var i = 0; i < N; i++)
                 for (var i = 0; i < N; i++)
-                    _values.Add(default(TSource));
+                    _values.Add(default);
 
 
                 _isDone = new bool[N];
                 _isDone = new bool[N];
 
 

+ 0 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Defer.cs

@@ -2,8 +2,6 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System.Reactive.Disposables;
-
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl
 {
 {
     internal sealed class Defer<TValue> : Producer<TValue, Defer<TValue>._>, IEvaluatableObservable<TValue>
     internal sealed class Defer<TValue> : Producer<TValue, Defer<TValue>._>, IEvaluatableObservable<TValue>

+ 4 - 4
Rx.NET/Source/src/System.Reactive/Linq/Observable/Delay.cs

@@ -60,7 +60,7 @@ namespace System.Reactive.Linq.ObservableImpl
                 protected bool _ready;
                 protected bool _ready;
                 protected bool _active;
                 protected bool _active;
                 protected bool _running;
                 protected bool _running;
-                protected Queue<System.Reactive.TimeInterval<TSource>> _queue = new Queue<Reactive.TimeInterval<TSource>>();
+                protected Queue<Reactive.TimeInterval<TSource>> _queue = new Queue<Reactive.TimeInterval<TSource>>();
 
 
                 private bool _hasCompleted;
                 private bool _hasCompleted;
                 private TimeSpan _completeAt;
                 private TimeSpan _completeAt;
@@ -85,7 +85,7 @@ namespace System.Reactive.Linq.ObservableImpl
                     {
                     {
                         var next = _watch.Elapsed.Add(_delay);
                         var next = _watch.Elapsed.Add(_delay);
 
 
-                        _queue.Enqueue(new System.Reactive.TimeInterval<TSource>(value, next));
+                        _queue.Enqueue(new Reactive.TimeInterval<TSource>(value, next));
 
 
                         shouldRun = _ready && !_active;
                         shouldRun = _ready && !_active;
                         _active = true;
                         _active = true;
@@ -261,7 +261,7 @@ namespace System.Reactive.Linq.ObservableImpl
                 }
                 }
 
 
                 protected TimeSpan _delay;
                 protected TimeSpan _delay;
-                protected Queue<System.Reactive.TimeInterval<TSource>> _queue = new Queue<System.Reactive.TimeInterval<TSource>>();
+                protected Queue<Reactive.TimeInterval<TSource>> _queue = new Queue<Reactive.TimeInterval<TSource>>();
 
 
                 private CancellationTokenSource _stop;
                 private CancellationTokenSource _stop;
                 private bool _hasCompleted;
                 private bool _hasCompleted;
@@ -293,7 +293,7 @@ namespace System.Reactive.Linq.ObservableImpl
                     {
                     {
                         var next = _watch.Elapsed.Add(_delay);
                         var next = _watch.Elapsed.Add(_delay);
 
 
-                        _queue.Enqueue(new System.Reactive.TimeInterval<TSource>(value, next));
+                        _queue.Enqueue(new Reactive.TimeInterval<TSource>(value, next));
 
 
                         _evt.Release();
                         _evt.Release();
                     }
                     }

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/ElementAtOrDefault.cs

@@ -42,7 +42,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
 
             public override void OnCompleted()
             public override void OnCompleted()
             {
             {
-                ForwardOnNext(default(TSource));
+                ForwardOnNext(default);
                 ForwardOnCompleted();
                 ForwardOnCompleted();
             }
             }
         }
         }

+ 0 - 3
Rx.NET/Source/src/System.Reactive/Linq/Observable/FirstLastBlocking.cs

@@ -2,10 +2,7 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System;
-using System.Collections.Generic;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
-using System.Text;
 using System.Threading;
 using System.Threading;
 
 
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/FirstOrDefaultAsync.cs

@@ -34,7 +34,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
 
                 public override void OnCompleted()
                 public override void OnCompleted()
                 {
                 {
-                    ForwardOnNext(default(TSource));
+                    ForwardOnNext(default);
                     ForwardOnCompleted();
                     ForwardOnCompleted();
                 }
                 }
             }
             }

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/FromEventPattern.cs

@@ -3,7 +3,6 @@
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
-using System.Reactive.Disposables;
 using System.Reflection;
 using System.Reflection;
 using System.Threading;
 using System.Threading;
 
 

+ 0 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/If.cs

@@ -2,8 +2,6 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System.Reactive.Disposables;
-
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl
 {
 {
     internal sealed class If<TResult> : Producer<TResult, If<TResult>._>, IEvaluatableObservable<TResult>
     internal sealed class If<TResult> : Producer<TResult, If<TResult>._>, IEvaluatableObservable<TResult>

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Materialize.cs

@@ -28,7 +28,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
 
             public override void OnNext(TSource value)
             public override void OnNext(TSource value)
             {
             {
-                ForwardOnNext(Notification.CreateOnNext<TSource>(value));
+                ForwardOnNext(Notification.CreateOnNext(value));
             }
             }
 
 
             public override void OnError(Exception error)
             public override void OnError(Exception error)

+ 0 - 4
Rx.NET/Source/src/System.Reactive/Linq/Observable/RepeatWhen.cs

@@ -2,12 +2,8 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System;
-using System.Collections.Concurrent;
-using System.Collections.Generic;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
 using System.Reactive.Subjects;
 using System.Reactive.Subjects;
-using System.Text;
 using System.Threading;
 using System.Threading;
 
 
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl

+ 0 - 3
Rx.NET/Source/src/System.Reactive/Linq/Observable/RetryWhen.cs

@@ -2,12 +2,9 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System;
 using System.Collections.Concurrent;
 using System.Collections.Concurrent;
-using System.Collections.Generic;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
 using System.Reactive.Subjects;
 using System.Reactive.Subjects;
-using System.Text;
 using System.Threading;
 using System.Threading;
 
 
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Return.cs

@@ -3,7 +3,6 @@
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
-using System.Reactive.Disposables;
 
 
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl
 {
 {

+ 3 - 3
Rx.NET/Source/src/System.Reactive/Linq/Observable/SkipLast.cs

@@ -65,13 +65,13 @@ namespace System.Reactive.Linq.ObservableImpl
             internal sealed class _ : IdentitySink<TSource>
             internal sealed class _ : IdentitySink<TSource>
             {
             {
                 private readonly TimeSpan _duration;
                 private readonly TimeSpan _duration;
-                private Queue<System.Reactive.TimeInterval<TSource>> _queue;
+                private Queue<Reactive.TimeInterval<TSource>> _queue;
 
 
                 public _(TimeSpan duration, IObserver<TSource> observer)
                 public _(TimeSpan duration, IObserver<TSource> observer)
                     : base(observer)
                     : base(observer)
                 {
                 {
                     _duration = duration;
                     _duration = duration;
-                    _queue = new Queue<System.Reactive.TimeInterval<TSource>>();
+                    _queue = new Queue<Reactive.TimeInterval<TSource>>();
                 }
                 }
 
 
                 private IStopwatch _watch;
                 private IStopwatch _watch;
@@ -86,7 +86,7 @@ namespace System.Reactive.Linq.ObservableImpl
                 public override void OnNext(TSource value)
                 public override void OnNext(TSource value)
                 {
                 {
                     var now = _watch.Elapsed;
                     var now = _watch.Elapsed;
-                    _queue.Enqueue(new System.Reactive.TimeInterval<TSource>(value, now));
+                    _queue.Enqueue(new Reactive.TimeInterval<TSource>(value, now));
                     while (_queue.Count > 0 && now - _queue.Peek().Interval >= _duration)
                     while (_queue.Count > 0 && now - _queue.Peek().Interval >= _duration)
                         ForwardOnNext(_queue.Dequeue().Value);
                         ForwardOnNext(_queue.Dequeue().Value);
                 }
                 }

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/SkipUntil.cs

@@ -4,7 +4,6 @@
 
 
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
-using System.Threading;
 
 
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl
 {
 {

+ 3 - 3
Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeLastBuffer.cs

@@ -75,13 +75,13 @@ namespace System.Reactive.Linq.ObservableImpl
             internal sealed class _ : Sink<TSource, IList<TSource>> 
             internal sealed class _ : Sink<TSource, IList<TSource>> 
             {
             {
                 private readonly TimeSpan _duration;
                 private readonly TimeSpan _duration;
-                private Queue<System.Reactive.TimeInterval<TSource>> _queue;
+                private Queue<Reactive.TimeInterval<TSource>> _queue;
 
 
                 public _(TimeSpan duration, IObserver<IList<TSource>> observer)
                 public _(TimeSpan duration, IObserver<IList<TSource>> observer)
                     : base(observer)
                     : base(observer)
                 {
                 {
                     _duration = duration;
                     _duration = duration;
-                    _queue = new Queue<System.Reactive.TimeInterval<TSource>>();
+                    _queue = new Queue<Reactive.TimeInterval<TSource>>();
                 }
                 }
 
 
                 private IStopwatch _watch;
                 private IStopwatch _watch;
@@ -96,7 +96,7 @@ namespace System.Reactive.Linq.ObservableImpl
                 public override void OnNext(TSource value)
                 public override void OnNext(TSource value)
                 {
                 {
                     var now = _watch.Elapsed;
                     var now = _watch.Elapsed;
-                    _queue.Enqueue(new System.Reactive.TimeInterval<TSource>(value, now));
+                    _queue.Enqueue(new Reactive.TimeInterval<TSource>(value, now));
                     Trim(now);
                     Trim(now);
                 }
                 }
 
 

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeUntil.cs

@@ -4,7 +4,6 @@
 
 
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
-using System.Threading;
 
 
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl
 {
 {

+ 0 - 4
Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeUntilPredicate.cs

@@ -2,10 +2,6 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System;
-using System.Collections.Generic;
-using System.Text;
-
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl
 {
 {
     /// <summary>
     /// <summary>

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Throw.cs

@@ -3,7 +3,6 @@
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
-using System.Reactive.Disposables;
 
 
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl
 {
 {

+ 4 - 4
Rx.NET/Source/src/System.Reactive/Linq/Observable/TimeInterval.cs

@@ -6,7 +6,7 @@ using System.Reactive.Concurrency;
 
 
 namespace System.Reactive.Linq.ObservableImpl
 namespace System.Reactive.Linq.ObservableImpl
 {
 {
-    internal sealed class TimeInterval<TSource> : Producer<System.Reactive.TimeInterval<TSource>, TimeInterval<TSource>._>
+    internal sealed class TimeInterval<TSource> : Producer<Reactive.TimeInterval<TSource>, TimeInterval<TSource>._>
     {
     {
         private readonly IObservable<TSource> _source;
         private readonly IObservable<TSource> _source;
         private readonly IScheduler _scheduler;
         private readonly IScheduler _scheduler;
@@ -21,9 +21,9 @@ namespace System.Reactive.Linq.ObservableImpl
 
 
         protected override void Run(_ sink) => sink.Run(this);
         protected override void Run(_ sink) => sink.Run(this);
 
 
-        internal sealed class _ : Sink<TSource, System.Reactive.TimeInterval<TSource>> 
+        internal sealed class _ : Sink<TSource, Reactive.TimeInterval<TSource>> 
         {
         {
-            public _(IObserver<System.Reactive.TimeInterval<TSource>> observer)
+            public _(IObserver<Reactive.TimeInterval<TSource>> observer)
                 : base(observer)
                 : base(observer)
             {
             {
             }
             }
@@ -44,7 +44,7 @@ namespace System.Reactive.Linq.ObservableImpl
                 var now = _watch.Elapsed;
                 var now = _watch.Elapsed;
                 var span = now.Subtract(_last);
                 var span = now.Subtract(_last);
                 _last = now;
                 _last = now;
-                ForwardOnNext(new System.Reactive.TimeInterval<TSource>(value, span));
+                ForwardOnNext(new Reactive.TimeInterval<TSource>(value, span));
             }
             }
         }
         }
     }
     }

+ 10 - 10
Rx.NET/Source/src/System.Reactive/Linq/ObservableEx.cs

@@ -29,7 +29,7 @@ namespace System.Reactive.Linq
             if (iteratorMethod == null)
             if (iteratorMethod == null)
                 throw new ArgumentNullException(nameof(iteratorMethod));
                 throw new ArgumentNullException(nameof(iteratorMethod));
 
 
-            return s_impl.Create<TResult>(iteratorMethod);
+            return s_impl.Create(iteratorMethod);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -70,7 +70,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.Expand<TSource>(source, selector, scheduler);
+            return s_impl.Expand(source, selector, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -89,7 +89,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Expand<TSource>(source, selector);
+            return s_impl.Expand(source, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -117,7 +117,7 @@ namespace System.Reactive.Linq
             if (resultSelector == null)
             if (resultSelector == null)
                 throw new ArgumentNullException(nameof(resultSelector));
                 throw new ArgumentNullException(nameof(resultSelector));
 
 
-            return s_impl.ForkJoin<TSource1, TSource2, TResult>(first, second, resultSelector);
+            return s_impl.ForkJoin(first, second, resultSelector);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -133,7 +133,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.ForkJoin<TSource>(sources);
+            return s_impl.ForkJoin(sources);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -149,7 +149,7 @@ namespace System.Reactive.Linq
             if (sources == null)
             if (sources == null)
                 throw new ArgumentNullException(nameof(sources));
                 throw new ArgumentNullException(nameof(sources));
 
 
-            return s_impl.ForkJoin<TSource>(sources);
+            return s_impl.ForkJoin(sources);
         }
         }
 
 
         #endregion
         #endregion
@@ -174,7 +174,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.Let<TSource, TResult>(source, selector);
+            return s_impl.Let(source, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -194,7 +194,7 @@ namespace System.Reactive.Linq
             if (scheduler == null)
             if (scheduler == null)
                 throw new ArgumentNullException(nameof(scheduler));
                 throw new ArgumentNullException(nameof(scheduler));
 
 
-            return s_impl.ManySelect<TSource, TResult>(source, selector, scheduler);
+            return s_impl.ManySelect(source, selector, scheduler);
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -208,7 +208,7 @@ namespace System.Reactive.Linq
             if (selector == null)
             if (selector == null)
                 throw new ArgumentNullException(nameof(selector));
                 throw new ArgumentNullException(nameof(selector));
 
 
-            return s_impl.ManySelect<TSource, TResult>(source, selector);
+            return s_impl.ManySelect(source, selector);
         }
         }
 
 
         #endregion
         #endregion
@@ -228,7 +228,7 @@ namespace System.Reactive.Linq
             if (source == null)
             if (source == null)
                 throw new ArgumentNullException(nameof(source));
                 throw new ArgumentNullException(nameof(source));
 
 
-            return s_impl.ToListObservable<TSource>(source);
+            return s_impl.ToListObservable(source);
         }
         }
 
 
         #endregion
         #endregion

+ 0 - 3
Rx.NET/Source/src/System.Reactive/Linq/Qbservable.Generated.cs

@@ -5,17 +5,14 @@
 
 
 #pragma warning disable 1591
 #pragma warning disable 1591
 
 
-using System;
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Diagnostics.CodeAnalysis;
 using System.Diagnostics.CodeAnalysis;
-using System.Reactive.Joins;
 using System.Linq;
 using System.Linq;
 using System.Linq.Expressions;
 using System.Linq.Expressions;
 using System.Reflection;
 using System.Reflection;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
-using System.Reactive;
 using System.Reactive.Subjects;
 using System.Reactive.Subjects;
 
 
 namespace System.Reactive.Linq
 namespace System.Reactive.Linq

+ 0 - 7
Rx.NET/Source/src/System.Reactive/Linq/QbservableEx.Generated.cs

@@ -5,17 +5,10 @@
 
 
 #pragma warning disable 1591
 #pragma warning disable 1591
 
 
-using System;
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Reactive.Joins;
-using System.Linq;
 using System.Linq.Expressions;
 using System.Linq.Expressions;
 using System.Reflection;
 using System.Reflection;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Reactive;
-using System.Reactive.Subjects;
 
 
 namespace System.Reactive.Linq
 namespace System.Reactive.Linq
 {
 {

+ 3 - 3
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Awaiter.cs

@@ -12,12 +12,12 @@ namespace System.Reactive.Linq
     {
     {
         public virtual AsyncSubject<TSource> GetAwaiter<TSource>(IObservable<TSource> source)
         public virtual AsyncSubject<TSource> GetAwaiter<TSource>(IObservable<TSource> source)
         {
         {
-            return RunAsync<TSource>(source, CancellationToken.None);
+            return RunAsync(source, CancellationToken.None);
         }
         }
 
 
         public virtual AsyncSubject<TSource> GetAwaiter<TSource>(IConnectableObservable<TSource> source)
         public virtual AsyncSubject<TSource> GetAwaiter<TSource>(IConnectableObservable<TSource> source)
         {
         {
-            return RunAsync<TSource>(source, CancellationToken.None);
+            return RunAsync(source, CancellationToken.None);
         }
         }
 
 
         public virtual AsyncSubject<TSource> RunAsync<TSource>(IObservable<TSource> source, CancellationToken cancellationToken)
         public virtual AsyncSubject<TSource> RunAsync<TSource>(IObservable<TSource> source, CancellationToken cancellationToken)
@@ -87,4 +87,4 @@ namespace System.Reactive.Linq
             subject.Subscribe(Stubs<T>.Ignore, _ => ctr.Dispose(), ctr.Dispose);
             subject.Subscribe(Stubs<T>.Ignore, _ => ctr.Dispose(), ctr.Dispose);
         }
         }
     }
     }
-}
+}

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Binding.cs

@@ -3,7 +3,6 @@
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
-using System.Reactive.Disposables;
 using System.Reactive.Subjects;
 using System.Reactive.Subjects;
 
 
 namespace System.Reactive.Linq
 namespace System.Reactive.Linq

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Blocking.cs

@@ -24,12 +24,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IEnumerable<TResult> Collect<TSource, TResult>(IObservable<TSource> source, Func<TResult> newCollector, Func<TResult, TSource, TResult> merge)
         public virtual IEnumerable<TResult> Collect<TSource, TResult>(IObservable<TSource> source, Func<TResult> newCollector, Func<TResult, TSource, TResult> merge)
         {
         {
-            return Collect_<TSource, TResult>(source, newCollector, merge, _ => newCollector());
+            return Collect_(source, newCollector, merge, _ => newCollector());
         }
         }
 
 
         public virtual IEnumerable<TResult> Collect<TSource, TResult>(IObservable<TSource> source, Func<TResult> getInitialCollector, Func<TResult, TSource, TResult> merge, Func<TResult, TResult> getNewCollector)
         public virtual IEnumerable<TResult> Collect<TSource, TResult>(IObservable<TSource> source, Func<TResult> getInitialCollector, Func<TResult, TSource, TResult> merge, Func<TResult, TResult> getNewCollector)
         {
         {
-            return Collect_<TSource, TResult>(source, getInitialCollector, merge, getNewCollector);
+            return Collect_(source, getInitialCollector, merge, getNewCollector);
         }
         }
 
 
         private static IEnumerable<TResult> Collect_<TSource, TResult>(IObservable<TSource> source, Func<TResult> getInitialCollector, Func<TResult, TSource, TResult> merge, Func<TResult, TResult> getNewCollector)
         private static IEnumerable<TResult> Collect_<TSource, TResult>(IObservable<TSource> source, Func<TResult> getInitialCollector, Func<TResult, TSource, TResult> merge, Func<TResult, TResult> getNewCollector)

+ 4 - 4
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Concurrency.cs

@@ -13,12 +13,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> ObserveOn<TSource>(IObservable<TSource> source, IScheduler scheduler)
         public virtual IObservable<TSource> ObserveOn<TSource>(IObservable<TSource> source, IScheduler scheduler)
         {
         {
-            return Synchronization.ObserveOn<TSource>(source, scheduler);
+            return Synchronization.ObserveOn(source, scheduler);
         }
         }
 
 
         public virtual IObservable<TSource> ObserveOn<TSource>(IObservable<TSource> source, SynchronizationContext context)
         public virtual IObservable<TSource> ObserveOn<TSource>(IObservable<TSource> source, SynchronizationContext context)
         {
         {
-            return Synchronization.ObserveOn<TSource>(source, context);
+            return Synchronization.ObserveOn(source, context);
         }
         }
 
 
         #endregion
         #endregion
@@ -27,12 +27,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> SubscribeOn<TSource>(IObservable<TSource> source, IScheduler scheduler)
         public virtual IObservable<TSource> SubscribeOn<TSource>(IObservable<TSource> source, IScheduler scheduler)
         {
         {
-            return Synchronization.SubscribeOn<TSource>(source, scheduler);
+            return Synchronization.SubscribeOn(source, scheduler);
         }
         }
 
 
         public virtual IObservable<TSource> SubscribeOn<TSource>(IObservable<TSource> source, SynchronizationContext context)
         public virtual IObservable<TSource> SubscribeOn<TSource>(IObservable<TSource> source, SynchronizationContext context)
         {
         {
-            return Synchronization.SubscribeOn<TSource>(source, context);
+            return Synchronization.SubscribeOn(source, context);
         }
         }
 
 
         #endregion
         #endregion

+ 2 - 3
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Conversions.cs

@@ -4,7 +4,6 @@
 
 
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
-using System.Reactive.Disposables;
 
 
 namespace System.Reactive.Linq
 namespace System.Reactive.Linq
 {
 {
@@ -16,12 +15,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IDisposable Subscribe<TSource>(IEnumerable<TSource> source, IObserver<TSource> observer)
         public virtual IDisposable Subscribe<TSource>(IEnumerable<TSource> source, IObserver<TSource> observer)
         {
         {
-            return Subscribe_<TSource>(source, observer, SchedulerDefaults.Iteration);
+            return Subscribe_(source, observer, SchedulerDefaults.Iteration);
         }
         }
 
 
         public virtual IDisposable Subscribe<TSource>(IEnumerable<TSource> source, IObserver<TSource> observer, IScheduler scheduler)
         public virtual IDisposable Subscribe<TSource>(IEnumerable<TSource> source, IObserver<TSource> observer, IScheduler scheduler)
         {
         {
-            return Subscribe_<TSource>(source, observer, scheduler);
+            return Subscribe_(source, observer, scheduler);
         }
         }
 
 
         private static IDisposable Subscribe_<TSource>(IEnumerable<TSource> source, IObserver<TSource> observer, IScheduler scheduler)
         private static IDisposable Subscribe_<TSource>(IEnumerable<TSource> source, IObserver<TSource> observer, IScheduler scheduler)

+ 3 - 5
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Creation.cs

@@ -2,8 +2,6 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System.Collections.Generic;
-using System.Linq;
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
 using System.Reactive.Threading.Tasks;
 using System.Reactive.Threading.Tasks;
@@ -413,11 +411,11 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Using<TSource, TResource>(Func<CancellationToken, Task<TResource>> resourceFactoryAsync, Func<TResource, CancellationToken, Task<IObservable<TSource>>> observableFactoryAsync) where TResource : IDisposable
         public virtual IObservable<TSource> Using<TSource, TResource>(Func<CancellationToken, Task<TResource>> resourceFactoryAsync, Func<TResource, CancellationToken, Task<IObservable<TSource>>> observableFactoryAsync) where TResource : IDisposable
         {
         {
-            return Observable.FromAsync<TResource>(resourceFactoryAsync)
+            return Observable.FromAsync(resourceFactoryAsync)
                 .SelectMany(resource =>
                 .SelectMany(resource =>
-                    Observable.Using<TSource, TResource>(
+                    Observable.Using(
                         () => resource,
                         () => resource,
-                        resource_ => Observable.FromAsync<IObservable<TSource>>(ct => observableFactoryAsync(resource_, ct)).Merge()
+                        resource_ => Observable.FromAsync(ct => observableFactoryAsync(resource_, ct)).Merge()
                     )
                     )
                 );
                 );
         }
         }

+ 8 - 11
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Events.cs

@@ -2,10 +2,7 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System.Globalization;
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
-using System.Reactive.Disposables;
-using System.Reflection;
 using System.Threading;
 using System.Threading;
 
 
 #if HAS_WINRT
 #if HAS_WINRT
@@ -73,12 +70,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         public virtual IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         {
         {
-            return FromEventPattern_<TDelegate, TEventArgs>(conversion, addHandler, removeHandler, GetSchedulerForCurrentContext());
+            return FromEventPattern_(conversion, addHandler, removeHandler, GetSchedulerForCurrentContext());
         }
         }
 
 
         public virtual IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         public virtual IObservable<EventPattern<TEventArgs>> FromEventPattern<TDelegate, TEventArgs>(Func<EventHandler<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         {
         {
-            return FromEventPattern_<TDelegate, TEventArgs>(conversion, addHandler, removeHandler, scheduler);
+            return FromEventPattern_(conversion, addHandler, removeHandler, scheduler);
         }
         }
 
 
         #region Implementation
         #region Implementation
@@ -115,12 +112,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler)
         public virtual IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler)
         {
         {
-            return FromEventPattern_<TEventArgs>(addHandler, removeHandler, GetSchedulerForCurrentContext());
+            return FromEventPattern_(addHandler, removeHandler, GetSchedulerForCurrentContext());
         }
         }
 
 
         public virtual IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler, IScheduler scheduler)
         public virtual IObservable<EventPattern<TEventArgs>> FromEventPattern<TEventArgs>(Action<EventHandler<TEventArgs>> addHandler, Action<EventHandler<TEventArgs>> removeHandler, IScheduler scheduler)
         {
         {
-            return FromEventPattern_<TEventArgs>(addHandler, removeHandler, scheduler);
+            return FromEventPattern_(addHandler, removeHandler, scheduler);
         }
         }
 
 
         #region Implementation
         #region Implementation
@@ -286,12 +283,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         public virtual IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler)
         {
         {
-            return FromEvent_<TDelegate, TEventArgs>(conversion, addHandler, removeHandler, GetSchedulerForCurrentContext());
+            return FromEvent_(conversion, addHandler, removeHandler, GetSchedulerForCurrentContext());
         }
         }
 
 
         public virtual IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         public virtual IObservable<TEventArgs> FromEvent<TDelegate, TEventArgs>(Func<Action<TEventArgs>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler, IScheduler scheduler)
         {
         {
-            return FromEvent_<TDelegate, TEventArgs>(conversion, addHandler, removeHandler, scheduler);
+            return FromEvent_(conversion, addHandler, removeHandler, scheduler);
         }
         }
 
 
         #region Implementation
         #region Implementation
@@ -324,12 +321,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler)
         public virtual IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler)
         {
         {
-            return FromEvent_<TEventArgs>(addHandler, removeHandler, GetSchedulerForCurrentContext());
+            return FromEvent_(addHandler, removeHandler, GetSchedulerForCurrentContext());
         }
         }
 
 
         public virtual IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler, IScheduler scheduler)
         public virtual IObservable<TEventArgs> FromEvent<TEventArgs>(Action<Action<TEventArgs>> addHandler, Action<Action<TEventArgs>> removeHandler, IScheduler scheduler)
         {
         {
-            return FromEvent_<TEventArgs>(addHandler, removeHandler, scheduler);
+            return FromEvent_(addHandler, removeHandler, scheduler);
         }
         }
 
 
         #region Implementation
         #region Implementation

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Imperative.cs

@@ -5,7 +5,6 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
-using System.Reactive.Subjects;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 
 

+ 29 - 29
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Multiple.cs

@@ -61,17 +61,17 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Catch<TSource>(IObservable<TSource> first, IObservable<TSource> second)
         public virtual IObservable<TSource> Catch<TSource>(IObservable<TSource> first, IObservable<TSource> second)
         {
         {
-            return Catch_<TSource>(new[] { first, second });
+            return Catch_(new[] { first, second });
         }
         }
 
 
         public virtual IObservable<TSource> Catch<TSource>(params IObservable<TSource>[] sources)
         public virtual IObservable<TSource> Catch<TSource>(params IObservable<TSource>[] sources)
         {
         {
-            return Catch_<TSource>(sources);
+            return Catch_(sources);
         }
         }
 
 
         public virtual IObservable<TSource> Catch<TSource>(IEnumerable<IObservable<TSource>> sources)
         public virtual IObservable<TSource> Catch<TSource>(IEnumerable<IObservable<TSource>> sources)
         {
         {
-            return Catch_<TSource>(sources);
+            return Catch_(sources);
         }
         }
 
 
         private static IObservable<TSource> Catch_<TSource>(IEnumerable<IObservable<TSource>> sources)
         private static IObservable<TSource> Catch_<TSource>(IEnumerable<IObservable<TSource>> sources)
@@ -166,17 +166,17 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TResult> CombineLatest<TSource, TResult>(IEnumerable<IObservable<TSource>> sources, Func<IList<TSource>, TResult> resultSelector)
         public virtual IObservable<TResult> CombineLatest<TSource, TResult>(IEnumerable<IObservable<TSource>> sources, Func<IList<TSource>, TResult> resultSelector)
         {
         {
-            return CombineLatest_<TSource, TResult>(sources, resultSelector);
+            return CombineLatest_(sources, resultSelector);
         }
         }
 
 
         public virtual IObservable<IList<TSource>> CombineLatest<TSource>(IEnumerable<IObservable<TSource>> sources)
         public virtual IObservable<IList<TSource>> CombineLatest<TSource>(IEnumerable<IObservable<TSource>> sources)
         {
         {
-            return CombineLatest_<TSource, IList<TSource>>(sources, res => res.ToList());
+            return CombineLatest_(sources, res => res.ToList());
         }
         }
 
 
         public virtual IObservable<IList<TSource>> CombineLatest<TSource>(params IObservable<TSource>[] sources)
         public virtual IObservable<IList<TSource>> CombineLatest<TSource>(params IObservable<TSource>[] sources)
         {
         {
-            return CombineLatest_<TSource, IList<TSource>>(sources, res => res.ToList());
+            return CombineLatest_(sources, res => res.ToList());
         }
         }
 
 
         private static IObservable<TResult> CombineLatest_<TSource, TResult>(IEnumerable<IObservable<TSource>> sources, Func<IList<TSource>, TResult> resultSelector)
         private static IObservable<TResult> CombineLatest_<TSource, TResult>(IEnumerable<IObservable<TSource>> sources, Func<IList<TSource>, TResult> resultSelector)
@@ -190,17 +190,17 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Concat<TSource>(IObservable<TSource> first, IObservable<TSource> second)
         public virtual IObservable<TSource> Concat<TSource>(IObservable<TSource> first, IObservable<TSource> second)
         {
         {
-            return Concat_<TSource>(new[] { first, second });
+            return Concat_(new[] { first, second });
         }
         }
 
 
         public virtual IObservable<TSource> Concat<TSource>(params IObservable<TSource>[] sources)
         public virtual IObservable<TSource> Concat<TSource>(params IObservable<TSource>[] sources)
         {
         {
-            return Concat_<TSource>(sources);
+            return Concat_(sources);
         }
         }
 
 
         public virtual IObservable<TSource> Concat<TSource>(IEnumerable<IObservable<TSource>> sources)
         public virtual IObservable<TSource> Concat<TSource>(IEnumerable<IObservable<TSource>> sources)
         {
         {
-            return Concat_<TSource>(sources);
+            return Concat_(sources);
         }
         }
 
 
         private static IObservable<TSource> Concat_<TSource>(IEnumerable<IObservable<TSource>> sources)
         private static IObservable<TSource> Concat_<TSource>(IEnumerable<IObservable<TSource>> sources)
@@ -210,12 +210,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Concat<TSource>(IObservable<IObservable<TSource>> sources)
         public virtual IObservable<TSource> Concat<TSource>(IObservable<IObservable<TSource>> sources)
         {
         {
-            return Concat_<TSource>(sources);
+            return Concat_(sources);
         }
         }
 
 
         public virtual IObservable<TSource> Concat<TSource>(IObservable<Task<TSource>> sources)
         public virtual IObservable<TSource> Concat<TSource>(IObservable<Task<TSource>> sources)
         {
         {
-            return Concat_<TSource>(Select(sources, TaskObservableExtensions.ToObservable));
+            return Concat_(Select(sources, TaskObservableExtensions.ToObservable));
         }
         }
 
 
         private IObservable<TSource> Concat_<TSource>(IObservable<IObservable<TSource>> sources)
         private IObservable<TSource> Concat_<TSource>(IObservable<IObservable<TSource>> sources)
@@ -229,7 +229,7 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Merge<TSource>(IObservable<IObservable<TSource>> sources)
         public virtual IObservable<TSource> Merge<TSource>(IObservable<IObservable<TSource>> sources)
         {
         {
-            return Merge_<TSource>(sources);
+            return Merge_(sources);
         }
         }
 
 
         public virtual IObservable<TSource> Merge<TSource>(IObservable<Task<TSource>> sources)
         public virtual IObservable<TSource> Merge<TSource>(IObservable<Task<TSource>> sources)
@@ -239,47 +239,47 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Merge<TSource>(IObservable<IObservable<TSource>> sources, int maxConcurrent)
         public virtual IObservable<TSource> Merge<TSource>(IObservable<IObservable<TSource>> sources, int maxConcurrent)
         {
         {
-            return Merge_<TSource>(sources, maxConcurrent);
+            return Merge_(sources, maxConcurrent);
         }
         }
 
 
         public virtual IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources, int maxConcurrent)
         public virtual IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources, int maxConcurrent)
         {
         {
-            return Merge_<TSource>(sources.ToObservable(SchedulerDefaults.ConstantTimeOperations), maxConcurrent);
+            return Merge_(sources.ToObservable(SchedulerDefaults.ConstantTimeOperations), maxConcurrent);
         }
         }
 
 
         public virtual IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources, int maxConcurrent, IScheduler scheduler)
         public virtual IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources, int maxConcurrent, IScheduler scheduler)
         {
         {
-            return Merge_<TSource>(sources.ToObservable(scheduler), maxConcurrent);
+            return Merge_(sources.ToObservable(scheduler), maxConcurrent);
         }
         }
 
 
         public virtual IObservable<TSource> Merge<TSource>(IObservable<TSource> first, IObservable<TSource> second)
         public virtual IObservable<TSource> Merge<TSource>(IObservable<TSource> first, IObservable<TSource> second)
         {
         {
-            return Merge_<TSource>(new[] { first, second }.ToObservable(SchedulerDefaults.ConstantTimeOperations));
+            return Merge_(new[] { first, second }.ToObservable(SchedulerDefaults.ConstantTimeOperations));
         }
         }
 
 
         public virtual IObservable<TSource> Merge<TSource>(IObservable<TSource> first, IObservable<TSource> second, IScheduler scheduler)
         public virtual IObservable<TSource> Merge<TSource>(IObservable<TSource> first, IObservable<TSource> second, IScheduler scheduler)
         {
         {
-            return Merge_<TSource>(new[] { first, second }.ToObservable(scheduler));
+            return Merge_(new[] { first, second }.ToObservable(scheduler));
         }
         }
 
 
         public virtual IObservable<TSource> Merge<TSource>(params IObservable<TSource>[] sources)
         public virtual IObservable<TSource> Merge<TSource>(params IObservable<TSource>[] sources)
         {
         {
-            return Merge_<TSource>(sources.ToObservable(SchedulerDefaults.ConstantTimeOperations));
+            return Merge_(sources.ToObservable(SchedulerDefaults.ConstantTimeOperations));
         }
         }
 
 
         public virtual IObservable<TSource> Merge<TSource>(IScheduler scheduler, params IObservable<TSource>[] sources)
         public virtual IObservable<TSource> Merge<TSource>(IScheduler scheduler, params IObservable<TSource>[] sources)
         {
         {
-            return Merge_<TSource>(sources.ToObservable(scheduler));
+            return Merge_(sources.ToObservable(scheduler));
         }
         }
 
 
         public virtual IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources)
         public virtual IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources)
         {
         {
-            return Merge_<TSource>(sources.ToObservable(SchedulerDefaults.ConstantTimeOperations));
+            return Merge_(sources.ToObservable(SchedulerDefaults.ConstantTimeOperations));
         }
         }
 
 
         public virtual IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources, IScheduler scheduler)
         public virtual IObservable<TSource> Merge<TSource>(IEnumerable<IObservable<TSource>> sources, IScheduler scheduler)
         {
         {
-            return Merge_<TSource>(sources.ToObservable(scheduler));
+            return Merge_(sources.ToObservable(scheduler));
         }
         }
 
 
         private static IObservable<TSource> Merge_<TSource>(IObservable<IObservable<TSource>> sources)
         private static IObservable<TSource> Merge_<TSource>(IObservable<IObservable<TSource>> sources)
@@ -298,17 +298,17 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> OnErrorResumeNext<TSource>(IObservable<TSource> first, IObservable<TSource> second)
         public virtual IObservable<TSource> OnErrorResumeNext<TSource>(IObservable<TSource> first, IObservable<TSource> second)
         {
         {
-            return OnErrorResumeNext_<TSource>(new[] { first, second });
+            return OnErrorResumeNext_(new[] { first, second });
         }
         }
 
 
         public virtual IObservable<TSource> OnErrorResumeNext<TSource>(params IObservable<TSource>[] sources)
         public virtual IObservable<TSource> OnErrorResumeNext<TSource>(params IObservable<TSource>[] sources)
         {
         {
-            return OnErrorResumeNext_<TSource>(sources);
+            return OnErrorResumeNext_(sources);
         }
         }
 
 
         public virtual IObservable<TSource> OnErrorResumeNext<TSource>(IEnumerable<IObservable<TSource>> sources)
         public virtual IObservable<TSource> OnErrorResumeNext<TSource>(IEnumerable<IObservable<TSource>> sources)
         {
         {
-            return OnErrorResumeNext_<TSource>(sources);
+            return OnErrorResumeNext_(sources);
         }
         }
 
 
         private static IObservable<TSource> OnErrorResumeNext_<TSource>(IEnumerable<IObservable<TSource>> sources)
         private static IObservable<TSource> OnErrorResumeNext_<TSource>(IEnumerable<IObservable<TSource>> sources)
@@ -331,12 +331,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Switch<TSource>(IObservable<IObservable<TSource>> sources)
         public virtual IObservable<TSource> Switch<TSource>(IObservable<IObservable<TSource>> sources)
         {
         {
-            return Switch_<TSource>(sources);
+            return Switch_(sources);
         }
         }
 
 
         public virtual IObservable<TSource> Switch<TSource>(IObservable<Task<TSource>> sources)
         public virtual IObservable<TSource> Switch<TSource>(IObservable<Task<TSource>> sources)
         {
         {
-            return Switch_<TSource>(Select(sources, TaskObservableExtensions.ToObservable));
+            return Switch_(Select(sources, TaskObservableExtensions.ToObservable));
         }
         }
 
 
         private IObservable<TSource> Switch_<TSource>(IObservable<IObservable<TSource>> sources)
         private IObservable<TSource> Switch_<TSource>(IObservable<IObservable<TSource>> sources)
@@ -397,17 +397,17 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TResult> Zip<TSource, TResult>(IEnumerable<IObservable<TSource>> sources, Func<IList<TSource>, TResult> resultSelector)
         public virtual IObservable<TResult> Zip<TSource, TResult>(IEnumerable<IObservable<TSource>> sources, Func<IList<TSource>, TResult> resultSelector)
         {
         {
-            return Zip_<TSource>(sources).Select(resultSelector);
+            return Zip_(sources).Select(resultSelector);
         }
         }
 
 
         public virtual IObservable<IList<TSource>> Zip<TSource>(IEnumerable<IObservable<TSource>> sources)
         public virtual IObservable<IList<TSource>> Zip<TSource>(IEnumerable<IObservable<TSource>> sources)
         {
         {
-            return Zip_<TSource>(sources);
+            return Zip_(sources);
         }
         }
 
 
         public virtual IObservable<IList<TSource>> Zip<TSource>(params IObservable<TSource>[] sources)
         public virtual IObservable<IList<TSource>> Zip<TSource>(params IObservable<TSource>[] sources)
         {
         {
-            return Zip_<TSource>(sources);
+            return Zip_(sources);
         }
         }
 
 
         private static IObservable<IList<TSource>> Zip_<TSource>(IEnumerable<IObservable<TSource>> sources)
         private static IObservable<IList<TSource>> Zip_<TSource>(IEnumerable<IObservable<TSource>> sources)

+ 12 - 13
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Single.cs

@@ -16,12 +16,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Append<TSource>(IObservable<TSource> source, TSource value)
         public virtual IObservable<TSource> Append<TSource>(IObservable<TSource> source, TSource value)
         {
         {
-            return Append_<TSource>(source, value, SchedulerDefaults.ConstantTimeOperations);
+            return Append_(source, value, SchedulerDefaults.ConstantTimeOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Append<TSource>(IObservable<TSource> source, TSource value, IScheduler scheduler)
         public virtual IObservable<TSource> Append<TSource>(IObservable<TSource> source, TSource value, IScheduler scheduler)
         {
         {
-            return Append_<TSource>(source, value, scheduler);
+            return Append_(source, value, scheduler);
         }
         }
 
 
         private static IObservable<TSource> Append_<TSource>(IObservable<TSource> source, TSource value, IScheduler scheduler)
         private static IObservable<TSource> Append_<TSource>(IObservable<TSource> source, TSource value, IScheduler scheduler)
@@ -119,12 +119,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Do<TSource>(IObservable<TSource> source, Action<TSource> onNext, Action onCompleted)
         public virtual IObservable<TSource> Do<TSource>(IObservable<TSource> source, Action<TSource> onNext, Action onCompleted)
         {
         {
-            return Do_<TSource>(source, onNext, Stubs<Exception>.Ignore, onCompleted);
+            return Do_(source, onNext, Stubs<Exception>.Ignore, onCompleted);
         }
         }
 
 
         public virtual IObservable<TSource> Do<TSource>(IObservable<TSource> source, Action<TSource> onNext, Action<Exception> onError)
         public virtual IObservable<TSource> Do<TSource>(IObservable<TSource> source, Action<TSource> onNext, Action<Exception> onError)
         {
         {
-            return Do_<TSource>(source, onNext, onError, Stubs.Nop);
+            return Do_(source, onNext, onError, Stubs.Nop);
         }
         }
 
 
         public virtual IObservable<TSource> Do<TSource>(IObservable<TSource> source, Action<TSource> onNext, Action<Exception> onError, Action onCompleted)
         public virtual IObservable<TSource> Do<TSource>(IObservable<TSource> source, Action<TSource> onNext, Action<Exception> onError, Action onCompleted)
@@ -184,12 +184,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Prepend<TSource>(IObservable<TSource> source, TSource value)
         public virtual IObservable<TSource> Prepend<TSource>(IObservable<TSource> source, TSource value)
         {
         {
-            return Prepend_<TSource>(source, value, SchedulerDefaults.ConstantTimeOperations);
+            return Prepend_(source, value, SchedulerDefaults.ConstantTimeOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Prepend<TSource>(IObservable<TSource> source, TSource value, IScheduler scheduler)
         public virtual IObservable<TSource> Prepend<TSource>(IObservable<TSource> source, TSource value, IScheduler scheduler)
         {
         {
-            return Prepend_<TSource>(source, value, scheduler);
+            return Prepend_(source, value, scheduler);
         }
         }
 
 
         private static IObservable<TSource> Prepend_<TSource>(IObservable<TSource> source, TSource value, IScheduler scheduler)
         private static IObservable<TSource> Prepend_<TSource>(IObservable<TSource> source, TSource value, IScheduler scheduler)
@@ -274,12 +274,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> StartWith<TSource>(IObservable<TSource> source, params TSource[] values)
         public virtual IObservable<TSource> StartWith<TSource>(IObservable<TSource> source, params TSource[] values)
         {
         {
-            return StartWith_<TSource>(source, SchedulerDefaults.ConstantTimeOperations, values);
+            return StartWith_(source, SchedulerDefaults.ConstantTimeOperations, values);
         }
         }
 
 
         public virtual IObservable<TSource> StartWith<TSource>(IObservable<TSource> source, IScheduler scheduler, params TSource[] values)
         public virtual IObservable<TSource> StartWith<TSource>(IObservable<TSource> source, IScheduler scheduler, params TSource[] values)
         {
         {
-            return StartWith_<TSource>(source, scheduler, values);
+            return StartWith_(source, scheduler, values);
         }
         }
 
 
         public virtual IObservable<TSource> StartWith<TSource>(IObservable<TSource> source, IEnumerable<TSource> values)
         public virtual IObservable<TSource> StartWith<TSource>(IObservable<TSource> source, IEnumerable<TSource> values)
@@ -295,14 +295,13 @@ namespace System.Reactive.Linq
             //       IQueryLanguage interface, we went for consistency with the public API, hence the odd position of the IScheduler.
             //       IQueryLanguage interface, we went for consistency with the public API, hence the odd position of the IScheduler.
             //
             //
 
 
-            var valueArray = values as TSource[];
-            if (valueArray == null)
+            if (!(values is TSource[] valueArray))
             {
             {
                 var valueList = new List<TSource>(values);
                 var valueList = new List<TSource>(values);
                 valueArray = valueList.ToArray();
                 valueArray = valueList.ToArray();
             }
             }
 
 
-            return StartWith_<TSource>(source, scheduler, valueArray);
+            return StartWith_(source, scheduler, valueArray);
         }
         }
 
 
         private static IObservable<TSource> StartWith_<TSource>(IObservable<TSource> source, IScheduler scheduler, params TSource[] values)
         private static IObservable<TSource> StartWith_<TSource>(IObservable<TSource> source, IScheduler scheduler, params TSource[] values)
@@ -340,12 +339,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, int count, int skip)
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, int count, int skip)
         {
         {
-            return Window_<TSource>(source, count, skip);
+            return Window_(source, count, skip);
         }
         }
 
 
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, int count)
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, int count)
         {
         {
-            return Window_<TSource>(source, count, count);
+            return Window_(source, count, count);
         }
         }
 
 
         private static IObservable<IObservable<TSource>> Window_<TSource>(IObservable<TSource> source, int count, int skip)
         private static IObservable<IObservable<TSource>> Window_<TSource>(IObservable<TSource> source, int count, int skip)

+ 26 - 26
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.StandardSequenceOperators.cs

@@ -26,7 +26,7 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> DefaultIfEmpty<TSource>(IObservable<TSource> source)
         public virtual IObservable<TSource> DefaultIfEmpty<TSource>(IObservable<TSource> source)
         {
         {
-            return new DefaultIfEmpty<TSource>(source, default(TSource));
+            return new DefaultIfEmpty<TSource>(source, default);
         }
         }
 
 
         public virtual IObservable<TSource> DefaultIfEmpty<TSource>(IObservable<TSource> source, TSource defaultValue)
         public virtual IObservable<TSource> DefaultIfEmpty<TSource>(IObservable<TSource> source, TSource defaultValue)
@@ -64,42 +64,42 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)
         {
         {
-            return GroupBy_<TSource, TKey, TElement>(source, keySelector, elementSelector, null, EqualityComparer<TKey>.Default);
+            return GroupBy_(source, keySelector, elementSelector, null, EqualityComparer<TKey>.Default);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
         {
         {
-            return GroupBy_<TSource, TKey, TSource>(source, keySelector, x => x, null, comparer);
+            return GroupBy_(source, keySelector, x => x, null, comparer);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector)
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector)
         {
         {
-            return GroupBy_<TSource, TKey, TSource>(source, keySelector, x => x, null, EqualityComparer<TKey>.Default);
+            return GroupBy_(source, keySelector, x => x, null, EqualityComparer<TKey>.Default);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
         {
         {
-            return GroupBy_<TSource, TKey, TElement>(source, keySelector, elementSelector, null, comparer);
+            return GroupBy_(source, keySelector, elementSelector, null, comparer);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity)
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity)
         {
         {
-            return GroupBy_<TSource, TKey, TElement>(source, keySelector, elementSelector, capacity, EqualityComparer<TKey>.Default);
+            return GroupBy_(source, keySelector, elementSelector, capacity, EqualityComparer<TKey>.Default);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity, IEqualityComparer<TKey> comparer)
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity, IEqualityComparer<TKey> comparer)
         {
         {
-            return GroupBy_<TSource, TKey, TSource>(source, keySelector, x => x, capacity, comparer);
+            return GroupBy_(source, keySelector, x => x, capacity, comparer);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity)
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupBy<TSource, TKey>(IObservable<TSource> source, Func<TSource, TKey> keySelector, int capacity)
         {
         {
-            return GroupBy_<TSource, TKey, TSource>(source, keySelector, x => x, capacity, EqualityComparer<TKey>.Default);
+            return GroupBy_(source, keySelector, x => x, capacity, EqualityComparer<TKey>.Default);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity, IEqualityComparer<TKey> comparer)
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupBy<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int capacity, IEqualityComparer<TKey> comparer)
         {
         {
-            return GroupBy_<TSource, TKey, TElement>(source, keySelector, elementSelector, capacity, comparer);
+            return GroupBy_(source, keySelector, elementSelector, capacity, comparer);
         }
         }
 
 
         private static IObservable<IGroupedObservable<TKey, TElement>> GroupBy_<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int? capacity, IEqualityComparer<TKey> comparer)
         private static IObservable<IGroupedObservable<TKey, TElement>> GroupBy_<TSource, TKey, TElement>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, int? capacity, IEqualityComparer<TKey> comparer)
@@ -113,42 +113,42 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
         {
         {
-            return GroupByUntil_<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, null, comparer);
+            return GroupByUntil_(source, keySelector, elementSelector, durationSelector, null, comparer);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector)
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector)
         {
         {
-            return GroupByUntil_<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, null, EqualityComparer<TKey>.Default);
+            return GroupByUntil_(source, keySelector, elementSelector, durationSelector, null, EqualityComparer<TKey>.Default);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, IEqualityComparer<TKey> comparer)
         {
         {
-            return GroupByUntil_<TSource, TKey, TSource, TDuration>(source, keySelector, x => x, durationSelector, null, comparer);
+            return GroupByUntil_(source, keySelector, x => x, durationSelector, null, comparer);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector)
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector)
         {
         {
-            return GroupByUntil_<TSource, TKey, TSource, TDuration>(source, keySelector, x => x, durationSelector, null, EqualityComparer<TKey>.Default);
+            return GroupByUntil_(source, keySelector, x => x, durationSelector, null, EqualityComparer<TKey>.Default);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
         {
         {
-            return GroupByUntil_<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, capacity, comparer);
+            return GroupByUntil_(source, keySelector, elementSelector, durationSelector, capacity, comparer);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity)
         public virtual IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int capacity)
         {
         {
-            return GroupByUntil_<TSource, TKey, TElement, TDuration>(source, keySelector, elementSelector, durationSelector, capacity, EqualityComparer<TKey>.Default);
+            return GroupByUntil_(source, keySelector, elementSelector, durationSelector, capacity, EqualityComparer<TKey>.Default);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity, IEqualityComparer<TKey> comparer)
         {
         {
-            return GroupByUntil_<TSource, TKey, TSource, TDuration>(source, keySelector, x => x, durationSelector, capacity, comparer);
+            return GroupByUntil_(source, keySelector, x => x, durationSelector, capacity, comparer);
         }
         }
 
 
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity)
         public virtual IObservable<IGroupedObservable<TKey, TSource>> GroupByUntil<TSource, TKey, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<IGroupedObservable<TKey, TSource>, IObservable<TDuration>> durationSelector, int capacity)
         {
         {
-            return GroupByUntil_<TSource, TKey, TSource, TDuration>(source, keySelector, x => x, durationSelector, capacity, EqualityComparer<TKey>.Default);
+            return GroupByUntil_(source, keySelector, x => x, durationSelector, capacity, EqualityComparer<TKey>.Default);
         }
         }
 
 
         private static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil_<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int? capacity, IEqualityComparer<TKey> comparer)
         private static IObservable<IGroupedObservable<TKey, TElement>> GroupByUntil_<TSource, TKey, TElement, TDuration>(IObservable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>> durationSelector, int? capacity, IEqualityComparer<TKey> comparer)
@@ -162,7 +162,7 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TResult> GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, IObservable<TRight>, TResult> resultSelector)
         public virtual IObservable<TResult> GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, IObservable<TRight>, TResult> resultSelector)
         {
         {
-            return GroupJoin_<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(left, right, leftDurationSelector, rightDurationSelector, resultSelector);
+            return GroupJoin_(left, right, leftDurationSelector, rightDurationSelector, resultSelector);
         }
         }
 
 
         private static IObservable<TResult> GroupJoin_<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, IObservable<TRight>, TResult> resultSelector)
         private static IObservable<TResult> GroupJoin_<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, IObservable<TRight>, TResult> resultSelector)
@@ -176,7 +176,7 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TResult> Join<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, TRight, TResult> resultSelector)
         public virtual IObservable<TResult> Join<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, TRight, TResult> resultSelector)
         {
         {
-            return Join_<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(left, right, leftDurationSelector, rightDurationSelector, resultSelector);
+            return Join_(left, right, leftDurationSelector, rightDurationSelector, resultSelector);
         }
         }
 
 
         private static IObservable<TResult> Join_<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, TRight, TResult> resultSelector)
         private static IObservable<TResult> Join_<TLeft, TRight, TLeftDuration, TRightDuration, TResult>(IObservable<TLeft> left, IObservable<TRight> right, Func<TLeft, IObservable<TLeftDuration>> leftDurationSelector, Func<TRight, IObservable<TRightDuration>> rightDurationSelector, Func<TLeft, TRight, TResult> resultSelector)
@@ -215,17 +215,17 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TOther> SelectMany<TSource, TOther>(IObservable<TSource> source, IObservable<TOther> other)
         public virtual IObservable<TOther> SelectMany<TSource, TOther>(IObservable<TSource> source, IObservable<TOther> other)
         {
         {
-            return SelectMany_<TSource, TOther>(source, _ => other);
+            return SelectMany_(source, _ => other);
         }
         }
 
 
         public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TResult>> selector)
         public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TResult>> selector)
         {
         {
-            return SelectMany_<TSource, TResult>(source, selector);
+            return SelectMany_(source, selector);
         }
         }
 
 
         public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector)
         public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TResult>> selector)
         {
         {
-            return SelectMany_<TSource, TResult>(source, selector);
+            return SelectMany_(source, selector);
         }
         }
 
 
         public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, Task<TResult>> selector)
         public virtual IObservable<TResult> SelectMany<TSource, TResult>(IObservable<TSource> source, Func<TSource, Task<TResult>> selector)
@@ -250,12 +250,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
         public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IObservable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
         {
         {
-            return SelectMany_<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+            return SelectMany_(source, collectionSelector, resultSelector);
         }
         }
 
 
         public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
         public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IObservable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
         {
         {
-            return SelectMany_<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+            return SelectMany_(source, collectionSelector, resultSelector);
         }
         }
 
 
         public virtual IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector)
         public virtual IObservable<TResult> SelectMany<TSource, TTaskResult, TResult>(IObservable<TSource> source, Func<TSource, Task<TTaskResult>> taskSelector, Func<TSource, TTaskResult, TResult> resultSelector)
@@ -320,12 +320,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
         public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
         {
         {
-            return SelectMany_<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+            return SelectMany_(source, collectionSelector, resultSelector);
         }
         }
 
 
         public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
         public virtual IObservable<TResult> SelectMany<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, int, TCollection, int, TResult> resultSelector)
         {
         {
-            return SelectMany_<TSource, TCollection, TResult>(source, collectionSelector, resultSelector);
+            return SelectMany_(source, collectionSelector, resultSelector);
         }
         }
 
 
         private static IObservable<TResult> SelectMany_<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
         private static IObservable<TResult> SelectMany_<TSource, TCollection, TResult>(IObservable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)

+ 63 - 65
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Time.cs

@@ -4,8 +4,6 @@
 
 
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Reactive.Concurrency;
 using System.Reactive.Concurrency;
-using System.Reactive.Disposables;
-using System.Reactive.Subjects;
 
 
 namespace System.Reactive.Linq
 namespace System.Reactive.Linq
 {
 {
@@ -19,12 +17,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan)
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan)
         {
         {
-            return Buffer_<TSource>(source, timeSpan, SchedulerDefaults.TimeBasedOperations);
+            return Buffer_(source, timeSpan, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler)
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler)
         {
         {
-            return Buffer_<TSource>(source, timeSpan, scheduler);
+            return Buffer_(source, timeSpan, scheduler);
         }
         }
 
 
         private static IObservable<IList<TSource>> Buffer_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler)
         private static IObservable<IList<TSource>> Buffer_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler)
@@ -34,12 +32,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift)
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift)
         {
         {
-            return Buffer_<TSource>(source, timeSpan, timeShift, SchedulerDefaults.TimeBasedOperations);
+            return Buffer_(source, timeSpan, timeShift, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)
         {
         {
-            return Buffer_<TSource>(source, timeSpan, timeShift, scheduler);
+            return Buffer_(source, timeSpan, timeShift, scheduler);
         }
         }
 
 
         private static IObservable<IList<TSource>> Buffer_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)
         private static IObservable<IList<TSource>> Buffer_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)
@@ -53,12 +51,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count)
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count)
         {
         {
-            return Buffer_<TSource>(source, timeSpan, count, SchedulerDefaults.TimeBasedOperations);
+            return Buffer_(source, timeSpan, count, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler)
         public virtual IObservable<IList<TSource>> Buffer<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler)
         {
         {
-            return Buffer_<TSource>(source, timeSpan, count, scheduler);
+            return Buffer_(source, timeSpan, count, scheduler);
         }
         }
 
 
         private static IObservable<IList<TSource>> Buffer_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler)
         private static IObservable<IList<TSource>> Buffer_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler)
@@ -76,12 +74,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Delay<TSource>(IObservable<TSource> source, TimeSpan dueTime)
         public virtual IObservable<TSource> Delay<TSource>(IObservable<TSource> source, TimeSpan dueTime)
         {
         {
-            return Delay_<TSource>(source, dueTime, SchedulerDefaults.TimeBasedOperations);
+            return Delay_(source, dueTime, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Delay<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         public virtual IObservable<TSource> Delay<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         {
         {
-            return Delay_<TSource>(source, dueTime, scheduler);
+            return Delay_(source, dueTime, scheduler);
         }
         }
 
 
         private static IObservable<TSource> Delay_<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         private static IObservable<TSource> Delay_<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
@@ -95,12 +93,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Delay<TSource>(IObservable<TSource> source, DateTimeOffset dueTime)
         public virtual IObservable<TSource> Delay<TSource>(IObservable<TSource> source, DateTimeOffset dueTime)
         {
         {
-            return Delay_<TSource>(source, dueTime, SchedulerDefaults.TimeBasedOperations);
+            return Delay_(source, dueTime, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Delay<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
         public virtual IObservable<TSource> Delay<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
         {
         {
-            return Delay_<TSource>(source, dueTime, scheduler);
+            return Delay_(source, dueTime, scheduler);
         }
         }
 
 
         private static IObservable<TSource> Delay_<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
         private static IObservable<TSource> Delay_<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
@@ -130,12 +128,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, TimeSpan dueTime)
         public virtual IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, TimeSpan dueTime)
         {
         {
-            return DelaySubscription_<TSource>(source, dueTime, SchedulerDefaults.TimeBasedOperations);
+            return DelaySubscription_(source, dueTime, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         public virtual IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         {
         {
-            return DelaySubscription_<TSource>(source, dueTime, scheduler);
+            return DelaySubscription_(source, dueTime, scheduler);
         }
         }
 
 
         private static IObservable<TSource> DelaySubscription_<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         private static IObservable<TSource> DelaySubscription_<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
@@ -145,12 +143,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, DateTimeOffset dueTime)
         public virtual IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, DateTimeOffset dueTime)
         {
         {
-            return DelaySubscription_<TSource>(source, dueTime, SchedulerDefaults.TimeBasedOperations);
+            return DelaySubscription_(source, dueTime, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
         public virtual IObservable<TSource> DelaySubscription<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
         {
         {
-            return DelaySubscription_<TSource>(source, dueTime, scheduler);
+            return DelaySubscription_(source, dueTime, scheduler);
         }
         }
 
 
         private static IObservable<TSource> DelaySubscription_<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
         private static IObservable<TSource> DelaySubscription_<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
@@ -164,12 +162,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, TimeSpan> timeSelector)
         public virtual IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, TimeSpan> timeSelector)
         {
         {
-            return Generate_<TState, TResult>(initialState, condition, iterate, resultSelector, timeSelector, SchedulerDefaults.TimeBasedOperations);
+            return Generate_(initialState, condition, iterate, resultSelector, timeSelector, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, TimeSpan> timeSelector, IScheduler scheduler)
         public virtual IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, TimeSpan> timeSelector, IScheduler scheduler)
         {
         {
-            return Generate_<TState, TResult>(initialState, condition, iterate, resultSelector, timeSelector, scheduler);
+            return Generate_(initialState, condition, iterate, resultSelector, timeSelector, scheduler);
         }
         }
 
 
         private static IObservable<TResult> Generate_<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, TimeSpan> timeSelector, IScheduler scheduler)
         private static IObservable<TResult> Generate_<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, TimeSpan> timeSelector, IScheduler scheduler)
@@ -179,12 +177,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, DateTimeOffset> timeSelector)
         public virtual IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, DateTimeOffset> timeSelector)
         {
         {
-            return Generate_<TState, TResult>(initialState, condition, iterate, resultSelector, timeSelector, SchedulerDefaults.TimeBasedOperations);
+            return Generate_(initialState, condition, iterate, resultSelector, timeSelector, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, DateTimeOffset> timeSelector, IScheduler scheduler)
         public virtual IObservable<TResult> Generate<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, DateTimeOffset> timeSelector, IScheduler scheduler)
         {
         {
-            return Generate_<TState, TResult>(initialState, condition, iterate, resultSelector, timeSelector, scheduler);
+            return Generate_(initialState, condition, iterate, resultSelector, timeSelector, scheduler);
         }
         }
 
 
         private static IObservable<TResult> Generate_<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, DateTimeOffset> timeSelector, IScheduler scheduler)
         private static IObservable<TResult> Generate_<TState, TResult>(TState initialState, Func<TState, bool> condition, Func<TState, TState> iterate, Func<TState, TResult> resultSelector, Func<TState, DateTimeOffset> timeSelector, IScheduler scheduler)
@@ -212,12 +210,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Sample<TSource>(IObservable<TSource> source, TimeSpan interval)
         public virtual IObservable<TSource> Sample<TSource>(IObservable<TSource> source, TimeSpan interval)
         {
         {
-            return Sample_<TSource>(source, interval, SchedulerDefaults.TimeBasedOperations);
+            return Sample_(source, interval, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Sample<TSource>(IObservable<TSource> source, TimeSpan interval, IScheduler scheduler)
         public virtual IObservable<TSource> Sample<TSource>(IObservable<TSource> source, TimeSpan interval, IScheduler scheduler)
         {
         {
-            return Sample_<TSource>(source, interval, scheduler);
+            return Sample_(source, interval, scheduler);
         }
         }
 
 
         private static IObservable<TSource> Sample_<TSource>(IObservable<TSource> source, TimeSpan interval, IScheduler scheduler)
         private static IObservable<TSource> Sample_<TSource>(IObservable<TSource> source, TimeSpan interval, IScheduler scheduler)
@@ -227,7 +225,7 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Sample<TSource, TSample>(IObservable<TSource> source, IObservable<TSample> sampler)
         public virtual IObservable<TSource> Sample<TSource, TSample>(IObservable<TSource> source, IObservable<TSample> sampler)
         {
         {
-            return Sample_<TSource, TSample>(source, sampler);
+            return Sample_(source, sampler);
         }
         }
 
 
         private static IObservable<TSource> Sample_<TSource, TSample>(IObservable<TSource> source, IObservable<TSample> sampler)
         private static IObservable<TSource> Sample_<TSource, TSample>(IObservable<TSource> source, IObservable<TSample> sampler)
@@ -241,12 +239,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Skip<TSource>(IObservable<TSource> source, TimeSpan duration)
         public virtual IObservable<TSource> Skip<TSource>(IObservable<TSource> source, TimeSpan duration)
         {
         {
-            return Skip_<TSource>(source, duration, SchedulerDefaults.TimeBasedOperations);
+            return Skip_(source, duration, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Skip<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         public virtual IObservable<TSource> Skip<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         {
         {
-            return Skip_<TSource>(source, duration, scheduler);
+            return Skip_(source, duration, scheduler);
         }
         }
 
 
         private static IObservable<TSource> Skip_<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         private static IObservable<TSource> Skip_<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
@@ -263,12 +261,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> SkipLast<TSource>(IObservable<TSource> source, TimeSpan duration)
         public virtual IObservable<TSource> SkipLast<TSource>(IObservable<TSource> source, TimeSpan duration)
         {
         {
-            return SkipLast_<TSource>(source, duration, SchedulerDefaults.TimeBasedOperations);
+            return SkipLast_(source, duration, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> SkipLast<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         public virtual IObservable<TSource> SkipLast<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         {
         {
-            return SkipLast_<TSource>(source, duration, scheduler);
+            return SkipLast_(source, duration, scheduler);
         }
         }
 
 
         private static IObservable<TSource> SkipLast_<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         private static IObservable<TSource> SkipLast_<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
@@ -282,12 +280,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> SkipUntil<TSource>(IObservable<TSource> source, DateTimeOffset startTime)
         public virtual IObservable<TSource> SkipUntil<TSource>(IObservable<TSource> source, DateTimeOffset startTime)
         {
         {
-            return SkipUntil_<TSource>(source, startTime, SchedulerDefaults.TimeBasedOperations);
+            return SkipUntil_(source, startTime, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> SkipUntil<TSource>(IObservable<TSource> source, DateTimeOffset startTime, IScheduler scheduler)
         public virtual IObservable<TSource> SkipUntil<TSource>(IObservable<TSource> source, DateTimeOffset startTime, IScheduler scheduler)
         {
         {
-            return SkipUntil_<TSource>(source, startTime, scheduler);
+            return SkipUntil_(source, startTime, scheduler);
         }
         }
 
 
         private static IObservable<TSource> SkipUntil_<TSource>(IObservable<TSource> source, DateTimeOffset startTime, IScheduler scheduler)
         private static IObservable<TSource> SkipUntil_<TSource>(IObservable<TSource> source, DateTimeOffset startTime, IScheduler scheduler)
@@ -304,12 +302,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Take<TSource>(IObservable<TSource> source, TimeSpan duration)
         public virtual IObservable<TSource> Take<TSource>(IObservable<TSource> source, TimeSpan duration)
         {
         {
-            return Take_<TSource>(source, duration, SchedulerDefaults.TimeBasedOperations);
+            return Take_(source, duration, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Take<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         public virtual IObservable<TSource> Take<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         {
         {
-            return Take_<TSource>(source, duration, scheduler);
+            return Take_(source, duration, scheduler);
         }
         }
 
 
         private static IObservable<TSource> Take_<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         private static IObservable<TSource> Take_<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
@@ -326,17 +324,17 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, TimeSpan duration)
         public virtual IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, TimeSpan duration)
         {
         {
-            return TakeLast_<TSource>(source, duration, SchedulerDefaults.TimeBasedOperations, SchedulerDefaults.Iteration);
+            return TakeLast_(source, duration, SchedulerDefaults.TimeBasedOperations, SchedulerDefaults.Iteration);
         }
         }
 
 
         public virtual IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         public virtual IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         {
         {
-            return TakeLast_<TSource>(source, duration, scheduler, SchedulerDefaults.Iteration);
+            return TakeLast_(source, duration, scheduler, SchedulerDefaults.Iteration);
         }
         }
 
 
         public virtual IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler timerScheduler, IScheduler loopScheduler)
         public virtual IObservable<TSource> TakeLast<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler timerScheduler, IScheduler loopScheduler)
         {
         {
-            return TakeLast_<TSource>(source, duration, timerScheduler, loopScheduler);
+            return TakeLast_(source, duration, timerScheduler, loopScheduler);
         }
         }
 
 
         private static IObservable<TSource> TakeLast_<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler timerScheduler, IScheduler loopScheduler)
         private static IObservable<TSource> TakeLast_<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler timerScheduler, IScheduler loopScheduler)
@@ -346,12 +344,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<IList<TSource>> TakeLastBuffer<TSource>(IObservable<TSource> source, TimeSpan duration)
         public virtual IObservable<IList<TSource>> TakeLastBuffer<TSource>(IObservable<TSource> source, TimeSpan duration)
         {
         {
-            return TakeLastBuffer_<TSource>(source, duration, SchedulerDefaults.TimeBasedOperations);
+            return TakeLastBuffer_(source, duration, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<IList<TSource>> TakeLastBuffer<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         public virtual IObservable<IList<TSource>> TakeLastBuffer<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         {
         {
-            return TakeLastBuffer_<TSource>(source, duration, scheduler);
+            return TakeLastBuffer_(source, duration, scheduler);
         }
         }
 
 
         private static IObservable<IList<TSource>> TakeLastBuffer_<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
         private static IObservable<IList<TSource>> TakeLastBuffer_<TSource>(IObservable<TSource> source, TimeSpan duration, IScheduler scheduler)
@@ -365,12 +363,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> TakeUntil<TSource>(IObservable<TSource> source, DateTimeOffset endTime)
         public virtual IObservable<TSource> TakeUntil<TSource>(IObservable<TSource> source, DateTimeOffset endTime)
         {
         {
-            return TakeUntil_<TSource>(source, endTime, SchedulerDefaults.TimeBasedOperations);
+            return TakeUntil_(source, endTime, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> TakeUntil<TSource>(IObservable<TSource> source, DateTimeOffset endTime, IScheduler scheduler)
         public virtual IObservable<TSource> TakeUntil<TSource>(IObservable<TSource> source, DateTimeOffset endTime, IScheduler scheduler)
         {
         {
-            return TakeUntil_<TSource>(source, endTime, scheduler);
+            return TakeUntil_(source, endTime, scheduler);
         }
         }
 
 
         private static IObservable<TSource> TakeUntil_<TSource>(IObservable<TSource> source, DateTimeOffset endTime, IScheduler scheduler)
         private static IObservable<TSource> TakeUntil_<TSource>(IObservable<TSource> source, DateTimeOffset endTime, IScheduler scheduler)
@@ -387,12 +385,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Throttle<TSource>(IObservable<TSource> source, TimeSpan dueTime)
         public virtual IObservable<TSource> Throttle<TSource>(IObservable<TSource> source, TimeSpan dueTime)
         {
         {
-            return Throttle_<TSource>(source, dueTime, SchedulerDefaults.TimeBasedOperations);
+            return Throttle_(source, dueTime, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Throttle<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         public virtual IObservable<TSource> Throttle<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         {
         {
-            return Throttle_<TSource>(source, dueTime, scheduler);
+            return Throttle_(source, dueTime, scheduler);
         }
         }
 
 
         private static IObservable<TSource> Throttle_<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         private static IObservable<TSource> Throttle_<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
@@ -409,17 +407,17 @@ namespace System.Reactive.Linq
 
 
         #region + TimeInterval +
         #region + TimeInterval +
 
 
-        public virtual IObservable<System.Reactive.TimeInterval<TSource>> TimeInterval<TSource>(IObservable<TSource> source)
+        public virtual IObservable<Reactive.TimeInterval<TSource>> TimeInterval<TSource>(IObservable<TSource> source)
         {
         {
-            return TimeInterval_<TSource>(source, SchedulerDefaults.TimeBasedOperations);
+            return TimeInterval_(source, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
-        public virtual IObservable<System.Reactive.TimeInterval<TSource>> TimeInterval<TSource>(IObservable<TSource> source, IScheduler scheduler)
+        public virtual IObservable<Reactive.TimeInterval<TSource>> TimeInterval<TSource>(IObservable<TSource> source, IScheduler scheduler)
         {
         {
-            return TimeInterval_<TSource>(source, scheduler);
+            return TimeInterval_(source, scheduler);
         }
         }
 
 
-        private static IObservable<System.Reactive.TimeInterval<TSource>> TimeInterval_<TSource>(IObservable<TSource> source, IScheduler scheduler)
+        private static IObservable<Reactive.TimeInterval<TSource>> TimeInterval_<TSource>(IObservable<TSource> source, IScheduler scheduler)
         {
         {
             return new TimeInterval<TSource>(source, scheduler);
             return new TimeInterval<TSource>(source, scheduler);
         }
         }
@@ -432,22 +430,22 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime)
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime)
         {
         {
-            return Timeout_<TSource>(source, dueTime, Observable.Throw<TSource>(new TimeoutException()), SchedulerDefaults.TimeBasedOperations);
+            return Timeout_(source, dueTime, Observable.Throw<TSource>(new TimeoutException()), SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime, IScheduler scheduler)
         {
         {
-            return Timeout_<TSource>(source, dueTime, Observable.Throw<TSource>(new TimeoutException()), scheduler);
+            return Timeout_(source, dueTime, Observable.Throw<TSource>(new TimeoutException()), scheduler);
         }
         }
 
 
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime, IObservable<TSource> other)
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime, IObservable<TSource> other)
         {
         {
-            return Timeout_<TSource>(source, dueTime, other, SchedulerDefaults.TimeBasedOperations);
+            return Timeout_(source, dueTime, other, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime, IObservable<TSource> other, IScheduler scheduler)
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, TimeSpan dueTime, IObservable<TSource> other, IScheduler scheduler)
         {
         {
-            return Timeout_<TSource>(source, dueTime, other, scheduler);
+            return Timeout_(source, dueTime, other, scheduler);
         }
         }
 
 
         private static IObservable<TSource> Timeout_<TSource>(IObservable<TSource> source, TimeSpan dueTime, IObservable<TSource> other, IScheduler scheduler)
         private static IObservable<TSource> Timeout_<TSource>(IObservable<TSource> source, TimeSpan dueTime, IObservable<TSource> other, IScheduler scheduler)
@@ -461,22 +459,22 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime)
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime)
         {
         {
-            return Timeout_<TSource>(source, dueTime, Observable.Throw<TSource>(new TimeoutException()), SchedulerDefaults.TimeBasedOperations);
+            return Timeout_(source, dueTime, Observable.Throw<TSource>(new TimeoutException()), SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IScheduler scheduler)
         {
         {
-            return Timeout_<TSource>(source, dueTime, Observable.Throw<TSource>(new TimeoutException()), scheduler);
+            return Timeout_(source, dueTime, Observable.Throw<TSource>(new TimeoutException()), scheduler);
         }
         }
 
 
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IObservable<TSource> other)
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IObservable<TSource> other)
         {
         {
-            return Timeout_<TSource>(source, dueTime, other, SchedulerDefaults.TimeBasedOperations);
+            return Timeout_(source, dueTime, other, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IObservable<TSource> other, IScheduler scheduler)
         public virtual IObservable<TSource> Timeout<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IObservable<TSource> other, IScheduler scheduler)
         {
         {
-            return Timeout_<TSource>(source, dueTime, other, scheduler);
+            return Timeout_(source, dueTime, other, scheduler);
         }
         }
 
 
         private static IObservable<TSource> Timeout_<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IObservable<TSource> other, IScheduler scheduler)
         private static IObservable<TSource> Timeout_<TSource>(IObservable<TSource> source, DateTimeOffset dueTime, IObservable<TSource> other, IScheduler scheduler)
@@ -490,22 +488,22 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector)
         public virtual IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector)
         {
         {
-            return Timeout_<TSource, TTimeout>(source, Observable.Never<TTimeout>(), timeoutDurationSelector, Observable.Throw<TSource>(new TimeoutException()));
+            return Timeout_(source, Observable.Never<TTimeout>(), timeoutDurationSelector, Observable.Throw<TSource>(new TimeoutException()));
         }
         }
 
 
         public virtual IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector, IObservable<TSource> other)
         public virtual IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector, IObservable<TSource> other)
         {
         {
-            return Timeout_<TSource, TTimeout>(source, Observable.Never<TTimeout>(), timeoutDurationSelector, other);
+            return Timeout_(source, Observable.Never<TTimeout>(), timeoutDurationSelector, other);
         }
         }
 
 
         public virtual IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, IObservable<TTimeout> firstTimeout, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector)
         public virtual IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, IObservable<TTimeout> firstTimeout, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector)
         {
         {
-            return Timeout_<TSource, TTimeout>(source, firstTimeout, timeoutDurationSelector, Observable.Throw<TSource>(new TimeoutException()));
+            return Timeout_(source, firstTimeout, timeoutDurationSelector, Observable.Throw<TSource>(new TimeoutException()));
         }
         }
 
 
         public virtual IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, IObservable<TTimeout> firstTimeout, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector, IObservable<TSource> other)
         public virtual IObservable<TSource> Timeout<TSource, TTimeout>(IObservable<TSource> source, IObservable<TTimeout> firstTimeout, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector, IObservable<TSource> other)
         {
         {
-            return Timeout_<TSource, TTimeout>(source, firstTimeout, timeoutDurationSelector, other);
+            return Timeout_(source, firstTimeout, timeoutDurationSelector, other);
         }
         }
 
 
         private static IObservable<TSource> Timeout_<TSource, TTimeout>(IObservable<TSource> source, IObservable<TTimeout> firstTimeout, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector, IObservable<TSource> other)
         private static IObservable<TSource> Timeout_<TSource, TTimeout>(IObservable<TSource> source, IObservable<TTimeout> firstTimeout, Func<TSource, IObservable<TTimeout>> timeoutDurationSelector, IObservable<TSource> other)
@@ -585,12 +583,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<Timestamped<TSource>> Timestamp<TSource>(IObservable<TSource> source)
         public virtual IObservable<Timestamped<TSource>> Timestamp<TSource>(IObservable<TSource> source)
         {
         {
-            return Timestamp_<TSource>(source, SchedulerDefaults.TimeBasedOperations);
+            return Timestamp_(source, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<Timestamped<TSource>> Timestamp<TSource>(IObservable<TSource> source, IScheduler scheduler)
         public virtual IObservable<Timestamped<TSource>> Timestamp<TSource>(IObservable<TSource> source, IScheduler scheduler)
         {
         {
-            return Timestamp_<TSource>(source, scheduler);
+            return Timestamp_(source, scheduler);
         }
         }
 
 
         private static IObservable<Timestamped<TSource>> Timestamp_<TSource>(IObservable<TSource> source, IScheduler scheduler)
         private static IObservable<Timestamped<TSource>> Timestamp_<TSource>(IObservable<TSource> source, IScheduler scheduler)
@@ -606,12 +604,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan)
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan)
         {
         {
-            return Window_<TSource>(source, timeSpan, SchedulerDefaults.TimeBasedOperations);
+            return Window_(source, timeSpan, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler)
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler)
         {
         {
-            return Window_<TSource>(source, timeSpan, scheduler);
+            return Window_(source, timeSpan, scheduler);
         }
         }
 
 
         private static IObservable<IObservable<TSource>> Window_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler)
         private static IObservable<IObservable<TSource>> Window_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, IScheduler scheduler)
@@ -621,12 +619,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift)
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift)
         {
         {
-            return Window_<TSource>(source, timeSpan, timeShift, SchedulerDefaults.TimeBasedOperations);
+            return Window_(source, timeSpan, timeShift, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)
         {
         {
-            return Window_<TSource>(source, timeSpan, timeShift, scheduler);
+            return Window_(source, timeSpan, timeShift, scheduler);
         }
         }
 
 
         private static IObservable<IObservable<TSource>> Window_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)
         private static IObservable<IObservable<TSource>> Window_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, TimeSpan timeShift, IScheduler scheduler)
@@ -640,12 +638,12 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count)
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count)
         {
         {
-            return Window_<TSource>(source, timeSpan, count, SchedulerDefaults.TimeBasedOperations);
+            return Window_(source, timeSpan, count, SchedulerDefaults.TimeBasedOperations);
         }
         }
 
 
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler)
         public virtual IObservable<IObservable<TSource>> Window<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler)
         {
         {
-            return Window_<TSource>(source, timeSpan, count, scheduler);
+            return Window_(source, timeSpan, count, scheduler);
         }
         }
 
 
         private static IObservable<IObservable<TSource>> Window_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler)
         private static IObservable<IObservable<TSource>> Window_<TSource>(IObservable<TSource> source, TimeSpan timeSpan, int count, IScheduler scheduler)

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguageEx.cs

@@ -355,7 +355,7 @@ namespace System.Reactive.Linq
                     {
                     {
                         var currentIndex = index;
                         var currentIndex = index;
                         var source = allSources[index];
                         var source = allSources[index];
-                        results.Add(default(TSource));
+                        results.Add(default);
                         group.Add(source.Subscribe(
                         group.Add(source.Subscribe(
                             value =>
                             value =>
                             {
                             {
@@ -426,7 +426,7 @@ namespace System.Reactive.Linq
 
 
         public virtual IObservable<TResult> ManySelect<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector, IScheduler scheduler)
         public virtual IObservable<TResult> ManySelect<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector, IScheduler scheduler)
         {
         {
-            return Observable.Defer<TResult>(() =>
+            return Observable.Defer(() =>
             {
             {
                 var chain = default(ChainObservable<TSource>);
                 var chain = default(ChainObservable<TSource>);
 
 

+ 2 - 3
Rx.NET/Source/src/System.Reactive/ObservableQuery.cs

@@ -37,8 +37,7 @@ namespace System.Reactive
             //
             //
             //   observable.AsQbservable().<operators>.ToEnumerable().AsQueryable()
             //   observable.AsQbservable().<operators>.ToEnumerable().AsQueryable()
             //
             //
-            var call = expression as MethodCallExpression;
-            if (call == null || call.Method.DeclaringType != typeof(Qbservable) || call.Method.Name != nameof(Qbservable.ToQueryable))
+            if (!(expression is MethodCallExpression call) || call.Method.DeclaringType != typeof(Qbservable) || call.Method.Name != nameof(Qbservable.ToQueryable))
                 throw new ArgumentException(Strings_Providers.EXPECTED_TOQUERYABLE_METHODCALL, nameof(expression));
                 throw new ArgumentException(Strings_Providers.EXPECTED_TOQUERYABLE_METHODCALL, nameof(expression));
 
 
             //
             //
@@ -494,4 +493,4 @@ namespace System.Reactive
             }
             }
         }
         }
     }
     }
-}
+}

+ 5 - 5
Rx.NET/Source/src/System.Reactive/Observer.Extensions.cs

@@ -25,7 +25,7 @@ namespace System.Reactive
                 throw new ArgumentNullException(nameof(handler));
                 throw new ArgumentNullException(nameof(handler));
 
 
             return new AnonymousObserver<T>(
             return new AnonymousObserver<T>(
-                x => handler(Notification.CreateOnNext<T>(x)),
+                x => handler(Notification.CreateOnNext(x)),
                 exception => handler(Notification.CreateOnError<T>(exception)),
                 exception => handler(Notification.CreateOnError<T>(exception)),
                 () => handler(Notification.CreateOnCompleted<T>())
                 () => handler(Notification.CreateOnCompleted<T>())
             );
             );
@@ -159,7 +159,7 @@ namespace System.Reactive
         /// <returns>An observer that delivers callbacks to the specified observer in a synchronized manner.</returns>
         /// <returns>An observer that delivers callbacks to the specified observer in a synchronized manner.</returns>
         /// <exception cref="ArgumentNullException"><paramref name="observer"/> is null.</exception>
         /// <exception cref="ArgumentNullException"><paramref name="observer"/> is null.</exception>
         /// <remarks>
         /// <remarks>
-        /// Because a <see cref="System.Threading.Monitor">Monitor</see> is used to perform the synchronization, there's no protection against reentrancy from the same thread.
+        /// Because a <see cref="Monitor">Monitor</see> is used to perform the synchronization, there's no protection against reentrancy from the same thread.
         /// Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as
         /// Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as
         /// well, use the <see cref="Synchronize{T}(IObserver{T}, bool)"/> overload, passing true for the second parameter.
         /// well, use the <see cref="Synchronize{T}(IObserver{T}, bool)"/> overload, passing true for the second parameter.
         /// </remarks>
         /// </remarks>
@@ -182,7 +182,7 @@ namespace System.Reactive
         /// <exception cref="ArgumentNullException"><paramref name="observer"/> is null.</exception>
         /// <exception cref="ArgumentNullException"><paramref name="observer"/> is null.</exception>
         /// <remarks>
         /// <remarks>
         /// When the <paramref name="preventReentrancy"/> parameter is set to false, behavior is identical to the <see cref="Synchronize{T}(IObserver{T})"/> overload which uses
         /// When the <paramref name="preventReentrancy"/> parameter is set to false, behavior is identical to the <see cref="Synchronize{T}(IObserver{T})"/> overload which uses
-        /// a <see cref="System.Threading.Monitor">Monitor</see> for synchronization. When the <paramref name="preventReentrancy"/> parameter is set to true, an <see cref="AsyncLock"/>
+        /// a <see cref="Monitor">Monitor</see> for synchronization. When the <paramref name="preventReentrancy"/> parameter is set to true, an <see cref="AsyncLock"/>
         /// is used to queue up callbacks to the specified observer if a reentrant call is made.
         /// is used to queue up callbacks to the specified observer if a reentrant call is made.
         /// </remarks>
         /// </remarks>
         public static IObserver<T> Synchronize<T>(IObserver<T> observer, bool preventReentrancy)
         public static IObserver<T> Synchronize<T>(IObserver<T> observer, bool preventReentrancy)
@@ -197,7 +197,7 @@ namespace System.Reactive
         }
         }
 
 
         /// <summary>
         /// <summary>
-        /// Synchronizes access to the observer such that its callback methods cannot be called concurrently by multiple threads, using the specified gate object for use by a <see cref="System.Threading.Monitor">Monitor</see>-based lock.
+        /// Synchronizes access to the observer such that its callback methods cannot be called concurrently by multiple threads, using the specified gate object for use by a <see cref="Monitor">Monitor</see>-based lock.
         /// This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common gate object.
         /// This overload is useful when coordinating multiple observers that access shared state by synchronizing on a common gate object.
         /// Notice reentrant observer callbacks on the same thread are still possible.
         /// Notice reentrant observer callbacks on the same thread are still possible.
         /// </summary>
         /// </summary>
@@ -207,7 +207,7 @@ namespace System.Reactive
         /// <returns>An observer that delivers callbacks to the specified observer in a synchronized manner.</returns>
         /// <returns>An observer that delivers callbacks to the specified observer in a synchronized manner.</returns>
         /// <exception cref="ArgumentNullException"><paramref name="observer"/> or <paramref name="gate"/> is null.</exception>
         /// <exception cref="ArgumentNullException"><paramref name="observer"/> or <paramref name="gate"/> is null.</exception>
         /// <remarks>
         /// <remarks>
-        /// Because a <see cref="System.Threading.Monitor">Monitor</see> is used to perform the synchronization, there's no protection against reentrancy from the same thread.
+        /// Because a <see cref="Monitor">Monitor</see> is used to perform the synchronization, there's no protection against reentrancy from the same thread.
         /// Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as
         /// Hence, overlapped observer callbacks are still possible, which is invalid behavior according to the observer grammar. In order to protect against this behavior as
         /// well, use the <see cref="Synchronize{T}(IObserver{T}, AsyncLock)"/> overload.
         /// well, use the <see cref="Synchronize{T}(IObserver{T}, AsyncLock)"/> overload.
         /// </remarks>
         /// </remarks>

+ 3 - 5
Rx.NET/Source/src/System.Reactive/Platforms/UWP/Linq/AsyncInfoObservable.cs

@@ -4,8 +4,6 @@
 
 
 #if HAS_WINRT
 #if HAS_WINRT
 using System.Reactive.Disposables;
 using System.Reactive.Disposables;
-using System.Reactive.Linq;
-using System.Reactive.Subjects;
 using System.Reactive.Threading.Tasks;
 using System.Reactive.Threading.Tasks;
 using System.Runtime.InteropServices.WindowsRuntime;
 using System.Runtime.InteropServices.WindowsRuntime;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
@@ -55,7 +53,7 @@ namespace System.Reactive.Linq
             return AsyncInfo.Run<int>((ct, progress) =>
             return AsyncInfo.Run<int>((ct, progress) =>
             {
             {
                 var i = 0;
                 var i = 0;
-                return (Task)source.Do(_ => progress.Report(i++)).DefaultIfEmpty().ToTask(ct);
+                return source.Do(_ => progress.Report(i++)).DefaultIfEmpty().ToTask(ct);
             });
             });
         }
         }
 
 
@@ -78,7 +76,7 @@ namespace System.Reactive.Linq
 
 
             return AsyncInfo.Run<TProgress>((ct, progress) =>
             return AsyncInfo.Run<TProgress>((ct, progress) =>
             {
             {
-                return (Task)Observable.Create<TSource>(observer =>
+                return Observable.Create<TSource>(observer =>
                 {
                 {
                     var obs = Observer.Synchronize(observer);
                     var obs = Observer.Synchronize(observer);
 
 
@@ -204,4 +202,4 @@ namespace System.Reactive.Linq
         #endregion
         #endregion
     }
     }
 }
 }
-#endif
+#endif

+ 0 - 1
Rx.NET/Source/src/System.Reactive/Subjects/ConnectableObservable.cs

@@ -2,7 +2,6 @@
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // The .NET Foundation licenses this file to you under the Apache 2.0 License.
 // See the LICENSE file in the project root for more information. 
 // See the LICENSE file in the project root for more information. 
 
 
-using System.Reactive.Disposables;
 using System.Reactive.Linq;
 using System.Reactive.Linq;
 
 
 namespace System.Reactive.Subjects
 namespace System.Reactive.Subjects

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Unit.cs

@@ -59,6 +59,6 @@ namespace System.Reactive
         /// <summary>
         /// <summary>
         /// Gets the single <see cref="Unit"/> value.
         /// Gets the single <see cref="Unit"/> value.
         /// </summary>
         /// </summary>
-        public static Unit Default => default(Unit);
+        public static Unit Default => default;
     }
     }
 }
 }

+ 6 - 7
Rx.NET/Source/tests/Tests.System.Reactive/Tests/ArgumentValidationTest.cs

@@ -308,7 +308,7 @@ namespace ReactiveTests.Tests
                     var targs = new Type[ga.Length];
                     var targs = new Type[ga.Length];
 
 
                     // fill in the type arguments
                     // fill in the type arguments
-                    for (int k = 0; k < targs.Length; k++)
+                    for (var k = 0; k < targs.Length; k++)
                     {
                     {
                         // watch out for type constrains
                         // watch out for type constrains
                         // the default typeof(int) will not work when
                         // the default typeof(int) will not work when
@@ -353,7 +353,7 @@ namespace ReactiveTests.Tests
                 var args = m.GetParameters();
                 var args = m.GetParameters();
 
 
                 // for each parameter of the (generic) method
                 // for each parameter of the (generic) method
-                for (int i = 0; i < args.Length; i++)
+                for (var i = 0; i < args.Length; i++)
                 {
                 {
                     // prepare a pattern for the method invocation
                     // prepare a pattern for the method invocation
                     var margs = new object[args.Length];
                     var margs = new object[args.Length];
@@ -364,7 +364,7 @@ namespace ReactiveTests.Tests
 
 
                     // for each argument index
                     // for each argument index
                     // with the loop i, this creates an N x N matrix where in each row, one argument is null
                     // with the loop i, this creates an N x N matrix where in each row, one argument is null
-                    for (int j = 0; j < args.Length; j++)
+                    for (var j = 0; j < args.Length; j++)
                     {
                     {
                         // figure out the type of the argument
                         // figure out the type of the argument
                         var pt = args[j].ParameterType;
                         var pt = args[j].ParameterType;
@@ -443,7 +443,7 @@ namespace ReactiveTests.Tests
                     // prepare method arguments
                     // prepare method arguments
                     var margs = new object[args.Length];
                     var margs = new object[args.Length];
 
 
-                    for (int j = 0; j < args.Length; j++)
+                    for (var j = 0; j < args.Length; j++)
                     {
                     {
                         var pt = args[j].ParameterType;
                         var pt = args[j].ParameterType;
                         var paramTypeName = TypeNameOf(pt);
                         var paramTypeName = TypeNameOf(pt);
@@ -469,11 +469,10 @@ namespace ReactiveTests.Tests
                     var thrown = true;
                     var thrown = true;
                     try
                     try
                     {
                     {
-                        var o = m.Invoke(null, margs) as IObservable<int>;
-
                         // Should not return null, but would be mistaken for
                         // Should not return null, but would be mistaken for
                         // throwing because of Subscribe(null)
                         // throwing because of Subscribe(null)
-                        if (o != null) {
+                        if (m.Invoke(null, margs) is IObservable<int> o)
+                        {
                             o.Subscribe(null);
                             o.Subscribe(null);
 
 
                             thrown = false;
                             thrown = false;

+ 4 - 5
Rx.NET/Source/tests/Tests.System.Reactive/Tests/Linq/Observable/TimerTest.cs

@@ -792,21 +792,21 @@ namespace ReactiveTests.Tests
 
 
         public IDisposable SchedulePeriodic<TState>(TState state, TimeSpan period, Func<TState, TState> action)
         public IDisposable SchedulePeriodic<TState>(TState state, TimeSpan period, Func<TState, TState> action)
         {
         {
-            var run = new TimerRun(this.Clock);
+            var run = new TimerRun(Clock);
             _timers.Add(run);
             _timers.Add(run);
 
 
             var x = state;
             var x = state;
 
 
             var d = this.Schedule(period, self =>
             var d = this.Schedule(period, self =>
             {
             {
-                run.Add(this.Clock);
+                run.Add(Clock);
 
 
                 x = action(x);
                 x = action(x);
                 self(period);
                 self(period);
             });
             });
 
 
             return new CompositeDisposable(
             return new CompositeDisposable(
-                Disposable.Create(() => { run.Stop(this.Clock); }),
+                Disposable.Create(() => { run.Stop(Clock); }),
                 d
                 d
             );
             );
         }
         }
@@ -853,8 +853,7 @@ namespace ReactiveTests.Tests
 
 
         public override bool Equals(object obj)
         public override bool Equals(object obj)
         {
         {
-            var other = obj as TimerRun;
-            if (other == null)
+            if (!(obj is TimerRun other))
                 return false;
                 return false;
 
 
             return _started == other._started && _stopped == other._stopped && _ticks.SequenceEqual(other._ticks);
             return _started == other._started && _stopped == other._stopped && _ticks.SequenceEqual(other._ticks);