This is a very useful method that we definitely should add, but before we should understand why the Scala List (which should serve as an example/guideline for Observable's signatures) has the signature:

    def contains[A1 >: A](elem: A1): Boolean

This still allows expressions like `List(1, 2, 3).contains("foo")`, which should be rejected by the typechecker. Is there any way to do that properly?