Yes we certainly could. Now, the problem is that the interface is an implementation detail... Why? Essentially, the way I have implemented this is more similar to `IQueryable` than `IEnumerable`, the `Select` etc. methods being essentially builder methods for the `CreateDerivedCollection(source, filter, selector, comparer, signalReset)` method.

I think that for the user, the better may be to overload `Select` etc for `IReactiveEnumerable` and co (although it does lead to a slight duplication in the library).

However, if we took the time to implement real `Select` etc methods, then the problem would disappear altogether.