W chwili obecnej getRestrictingQuery jest funkcją asynchroniczną czyli zwraca Promise ale natywny, a nie bluebirdowy. Nie można tego zhijackować, to co moglibyśmy zrobić to gdzieś głębiej opakowywać tę funkcję w Promise bluebirdowy. Wydaje mi się, że coś z tym trzeba zrobić, bo dwa rodzaje promisów z różnym API mogą nas ugryźć ponownie.
Hmm a gdzie polegaliśmy na tym, że zwracany był promise bluebirdowy?
W moim odczuciu powinniśmy zawsze zakładać, że zwracamy promisy natywne. Bluebird był bardzo pomocny jak nie było async/await i najbardziej eleganckim rozwiązaniem było chainowanie. Ale teraz jak mamy async/await i możemy korzystać z pętli itp to właściwie przydaje się w Bluebirdzie niewiele więcej niż Promise.all (bo np. .map możemy wywołać bezpośrednio na awaitowanej tablicy)