wouldn't I have to override most of the operators to prevent loss of information? Since Kotlin has no row polymorphism and the operators are not generic, something like
observeOn
would give me back an
Observable
, losing the additional type information