refactor deep.promise in deep.when