there's another `this.onerror` you can memoize while you're at it!