You can cheaply coerce the operation to a promise with `resolve`. That would allow the user to either pass an operation or a promise for an operation. `resolve` coerces to promise, so if you pass it a promise, you get back the same promise.

```javascript
operationPromise = Promise.resolve(operationPromise);
```