The definition of Observable.zip is incorrect as it should allow the first observable to be of a different type to the second observable