https://github.com/FullstackAcademy/fsg/blob/master/generated/browser/js/fsa/fsa-pre-built.js#L93 returns a rejected promise with an object that has a message. Is there any compelling reason to do this over `throw Error('message string')`?