I think the return type for `switchChain` has the observable values in the reverse order. It would be better if the values were fixed before the result gets to the `subscribe()` method. So that the order is consistent.