@MoonScript The main benefit to checking for an AMD loader first and falling back to the global `jQuery` object and loading via `factory(jQuery)` is that a reference error would be thrown if the global `jQuery` object is not in scope (i.e., not loaded or wrong load order). 

The suggested change may result in the plugin not being loaded with no feedback that loading has failed. If you prefer checking for `window.jQuery` first, then I would suggest adding an additional else clause:

```
else {
    throw 'Some explicit failure message';
}
```