https://www.0342.ua/afisha/11109/rxjs-understanding-higher-order-observables