code: function mw(store) {
      if (savedStore && savedStore !== store) {
        throw new Error('cannot assign logicMiddleware instance to multiple stores, create separate instance for each');
      }
      savedStore = store;
  
      return next => {
        savedNext = next;
        const { action$, sub, logicCount: cnt } =
              applyLogic(arrLogic, savedStore, savedNext,
                         logicSub, actionSrc$, deps, logicCount,
                         monitor$);
        actionEnd$ = action$;
        logicSub = sub;
        logicCount = cnt;
  
        return action => {
          debug('starting off', action);
          monitor$.next({ action, op: 'top' });
          actionSrc$.next(action);
          return action;
        };
      };
    }
docs: keep for uniqueness check